如何在sql server中结合多个条件

时间:2014-06-17 14:06:23

标签: sql sql-server

表1

ID 

12
21
12
21
...

Conditon

1)

我需要检查id应该是12还是id应该是21.它不应该是其他数字。

以下查询正在运作

SELECT distinct ltrim(id) from table1 where ltrim(id) = '12' or ltrim(id) = '21')

2)

我不需要多个号码,总是12或者总是21,它不应该混合,比如

id

12
12
12

id

21
21
21

以下查询正在运作

Declare @0_Recorddup int = 0
SELECT @0_Recorddup = Count(id) from (SELECT distinct id from table1) t1
if (@0_Recorddup = 0) or (@0_Recorddup > 1)  
begin
 ''error message
end

如何合并两个查询,任何人都可以帮助我......

1 个答案:

答案 0 :(得分:3)

  

ltrim(id)=' 12'

您将id' s - 数值 - 存储为字符串?对不起,我希望你的节目更好。

对于整数,它与大多数其他语言一样简单:

  

id = 12

是的,等等。我建议你抓一本关于SQL的书并开始学习基础知识。严重。

  

我需要检查id应该是12还是id应该是21.它不应该是其他数字。

简单。不重要的。像任何其他编程语言一样:

  

id = 12或id = 21

SQL中的

替代方案:

  

id IN(12,21)

对于2个号码来说不是很好,但是快速派上用场。

" SQL for Dummies" (IBAM 1118607961,可通过亚马逊等获得)对于您所在级别的人来说是一本不错的书。解释基础知识。就像不将数字作为字符串进行比较一样。