我有一个值列表,例如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
我收到一堆错误,所以需要语法
的帮助答案 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);