在我的表中的任何列中询问Int值

时间:2016-02-25 16:37:54

标签: sql procedure

假设我有一张名为'测试'使用这些列和值

ID  Apple Pear Pineapple Orange
1    2     3    4         4
2    1     12   1         0

现在我想创建一个SELECT语句来返回任何列中值为4的所有行。

我可以这样做,但我有很多列要检查,所以我需要找到另一种方法来做到这一点。

SELECT * FROM Test
WHERE test.apple = 4 or test.apple = 4 or test.pineapple = 4 or test.pineapple = 4

2 个答案:

答案 0 :(得分:1)

试试这个:

SELECT * 
FROM Test
WHERE 4 IN (Apple, Pear, Pineapple, Orange)

答案 1 :(得分:0)

一种方法是使用in

select t.*
from test t
where 4 in (t.apple, t.pear, t.pineapple, t.orange);

您仍然需要列出列,但它们只是放在in列表中。