2015-02-11 47 views
0

我有一台名为产品下一个元组:基本SQL语句(凡)

型 代码 GESTION 情况 亚科

我想选择类型,代码,GESTION ,情况,其中亚科是不同的值; 994,948,931

我做了什么:

SELECT type, code, gestion, situation 
FROM products 
WHERE subfamily = 994 AND subfamily = 948 AND subfamily = 931 

我怎么能做到这一点不重复亚科所有的时间? 非常感谢!

+0

什么叫'不重复亚科所有time' – 2015-02-11 10:30:39

+0

意味着该查询不应该返回任何行 - 你不能有超过1点的值在同一行中的一个字段!你想返回具有这3个值中的任何一个的行吗? – 2015-02-11 10:30:53

回答

4

你不能在这里使用AND。因为subfamily将永远不会同时具有值​​994,948和931。您应该使用OR

,或者干脆利用IN(更好的方法为值的列表):

SELECT type, code, gestion, situation 
FROM products 
WHERE subfamily IN (994,948,931) 
+0

谢谢,现在它可以工作;) – 2015-02-11 10:41:15

+0

我得等2分钟才能做到这一点。 – 2015-02-11 10:42:39

3

使用在语句:

SELECT type, code, gestion, situation 
FROM products 
WHERE subfamily in(994,948,931) 
+0

也谢谢你! – 2015-02-11 10:41:31

+0

没问题@DavidPradellCasellas我们总是在这里帮助:) – 2015-02-11 10:43:55

2

您应该使用其中测试的值是否为“在”后提供的值的列表条件运算符关键字IN。

SELECT type, code, gestion, situation 
FROM products 
WHERE subfamily IN (994, 948, 931) 
+0

我已经看到这已被回答。 :) – 2015-02-11 10:42:33