4

我有这个查询:

SELECT * from t1
WHERE child_id IN (SELECT child_id from t2 WHERE parent_id='1234')
OR parent_id='1234'

是否可以做这样的事情:

SELECT * from t1
WHERE child_id IN (
    (SELECT child_id from t2 WHERE parent_id='1234')
    UNION '5678'
)

关键字给出了一条错误消息,UNION我尝试在谷歌上搜索,但是当你搜索“Mysql concat IN”时很难找到一些东西

我希望我的问题很清楚

4

2 回答 2

3

是的,像这样:

SELECT * from t1
WHERE child_id IN 
(
  SELECT child_id from t2 WHERE parent_id='1234'
  UNION  
  SELECT 5678
)
于 2013-09-04T11:54:31.260 回答
1

查询是不同的(我的意思是示例和有错误的那个),但您可以这样做:

SELECT * from t1
WHERE child_id IN (SELECT child_id from t2 WHERE parent_id='1234'
                   union all
                   select '5678'
                  );
于 2013-09-04T11:54:53.363 回答