MySQL选择所有具有子项的父项

时间:2013-08-29 19:59:53

标签: php mysql

我看过一些类似的帖子,但无法将解决方案与我的需求联系起来。

我有一个名为PARENTTABLE

的项目表

我还有一个项目表,其中包含名为CHILDTABLE

的父项的子项

如何编写仅获取具有子项的父项的查询。

子表中有一个名为parent的列,其中包含父ID

3 个答案:

答案 0 :(得分:5)

SELECT DISTINCT PARENTTABLE.* 
FROM PARENTTABLE
INNER JOIN CHILDTABLE ON CHILDTABLE.parent = PARENTTABLE.id

答案 1 :(得分:2)

尝试这样的事情:

SELECT * from parent where id in (Select distinct parentid from child)

答案 2 :(得分:1)

EXISTS

的版本
SELECT * 
  FROM parenttable p
 WHERE EXISTS
(
  SELECT *
    FROM childtable
   WHERE parent_id = p.id
)

这是 SQLFiddle 演示