需要SQL查询才能返回不同的数据

时间:2016-05-19 19:36:25

标签: sql sql-server join

我有一个包含1256条记录的电子表格,需要更新。基本上,它是我需要连接到customObject表的一些记录。我需要更新任何具有objectNumber = 6的记录,如果它没有objectNumber 6,我必须创建这些记录。

当我在数据库中搜索1256条记录时,返回976条意味着280条记录没有' objectNumber' 6。

我使用以下查询找到objectNumber 6的记录:

BCPlinenum=$(grep -n -e "$BCPid" -- "$i" | cut -f1 -d:)

我想返回没有对象编号6的280条记录。将查询的最后一行更改为SELECT a.column1, a.column2, a.objectNumber, b.customcolumn b.column2 FROM table1 a WITH (NOLOCK) INNER JOIN table2 b ON a.column2 = b.column2 WHERE a.column1 IN (<my list of 1256 Ids go here>) AND a.objectNumber = 6 的问题意味着我返回所有对象编号为1,2,3的记录,4等,并返回超过3000行。

1 个答案:

答案 0 :(得分:0)

不是100%清楚可用于搜索的内容,但似乎objectNumber是一个整数,可以有1,2,3,4等,或6作为值。如果,在&#34;等&#34;你的意思是NULL或&#39;&#39; (&#39;&#39;是&#34;空白&#34;)然后你可以试试这个:

- 如果为NULL或&#39;&#39;是一个选项:

  

和(a.objectNumber为NULL或a.objectNumber =&#39;&#39;)

- 如果您尝试更新为6的280条记录具有已知值,则可以消除该值/那些值:

  

和a.objectNumber不在(1,2,3,4,5,6,或其他值