2016-02-10 27 views
1

对于array = [1,1,1,2],DB表的条目为ids-1,2为具有相同值的WHERE IN数组获取不同的行

查询 - >“SELECT * FROM table WHERE id in array"收益只有两排

是否有您可以建立一个在线表UNION ALL,然后INNER JOIN你的表的方式,其中将返回4行,而不是

+0

没有在表中只有两排 –

+0

可以有更多 –

+0

如果有只有两个表中的行,然后这一切,你会从该查询得到? –

回答

0

?它:

SELECT t2.* 
FROM (
    SELECT 1 AS v UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 2 
) AS t1 
INNER JOIN mytable AS t2 ON t1.v = t2.id