我有以下问题。我创建了一个名为parentchildrenName的表。该表在每一行中都包含一个父母的姓名和一个孩子的姓名。现在,我想返回一对带有同一个孩子的双亲的名字。这意味着它应返回具有特定childName的parent1和parent2的名称,如下所示:
SELECT parentName1, parentName2 childName FROM parentchildren
我不确定我如何使该命令在mysql中起作用,对您有所帮助。
答案 0 :(得分:0)
您可以在子名称相同但父名称不同的情况下使用自联接。
SELECT p.parentname,
p.childname,
m.parentname
FROM parentchildren p
INNER JOIN parentchildren m
ON m.childname = p.childname
AND m.parentname < p.parentname;
如果您希望每对父母两次,则可以在父母切换位置的情况下将<
更改为<>
。如果只希望每对只有一对,而在所有对中切换位置,则将其更改为>
。