2011-09-30 89 views
3

我想选择A列的不同值,其中列B =一组S.SQL查询多个值匹配字段在SELECT语句

的任何成员有没有办法在SQL没有直接这样做循环,然后在代码中过滤?

谢谢

编辑:集S是一个PHP数组。这是否有所作为?

+0

你在使用什么PHP库中的mysql库? ['mysql'](http://php.net/manual/en/book.mysql.php),['mysqli'](http://php.net/manual/en/book.mysqli.php), ['PDO'](http://php.net/manual/en/book.pdo.php)等? –

回答

6

使用IN子句值的列表,或子查询(如果支持在MySQL,因为我使用Oracle不知道)。该比赛可以在多个列上进行。

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) 
+0

是的,它支持MySQL。 –

2
SELECT DISTINCT 
    columnA 
FROM 
    yourTable 
WHERE 
    columnB IN ('your', 'set', 'of', 'values')