我想选择列A的不同值,其中列B =集合S的任何成员。
有没有办法在SQL中直接执行此操作而不进行循环,然后在代码中进行过滤?
由于
编辑:集合S是一个PHP数组。这有什么不同吗?
答案 0 :(得分:6)
将IN
子句与值列表或子查询一起使用(由于我使用Oracle,因此不确定MySql是否支持)。匹配可以在多个列上。
SELECT column_a
FROM mytable
WHERE column_b IN (1, 2, 3)
SELECT column_a
FROM mytable
WHERE column_b IN (SELECT column_c FROM myothertable)
答案 1 :(得分:2)
SELECT DISTINCT
columnA
FROM
yourTable
WHERE
columnB IN ( 'your', 'set', 'of', 'values' )