多列上的运算符中的sql

时间:2015-06-04 16:10:36

标签: sql rodbc

我有一个值列表,例如id =('10','20','30')我想检查这些值是否存在于columnA,columnB或columnC

这就是我所拥有的,这很好用

  "select * from Table1 where ColumnA in", id

我想做的是

  "select * from Table1 where (ColumnA or ColumnB or ColumnC) in", id

我收到一堆错误,所以需要语法

的帮助

3 个答案:

答案 0 :(得分:2)

请改为尝试:

select * from Table1 where ColumnA in ('10','20','30') or
                           ColumnB in ('10','20','30') or
                           ColumnC in ('10','20','30')

答案 1 :(得分:0)

据我所知,没有办法进一步缩短这一点,你必须坚持

SELECT * 
FROM `yourtable` 
WHERE `ColumnA` IN ('10','20','30')
    OR `ColumnB` IN ('10','20','30') 
    OR `ColumnC` IN ('10','20','30');

答案 2 :(得分:0)

从我可以从那里推断出你的问题,你想找到给定列中存在哪个给定值。 这应该很容易得到如下:

SELECT * FROM table1 WHERE ColumnA IN(10,20,30) AND ColumnB IN (10,20,30) AND ColumnC IN (10,20,30);