我有以下问题。我创建了一个名为parentchildrenName的表。该表在每一行中都包含一个父母的姓名和一个孩子的姓名。现在,我想返回一对带有同一个孩子的父母,他们的孩子的名字。这意味着它应返回具有特定childName的parent1和parent2的名称,如下所示:
SELECT parentName1, parentName2 childName FROM parentchildren
我不放弃确定如何使此命令在mysql中起作用,将不胜感激。
最佳答案
您可以在子名称相同但父名称不同的情况下使用自我联接。
SELECT p.parentname,
p.childname,
m.parentname
FROM parentchildren p
INNER JOIN parentchildren m
ON m.childname = p.childname
AND m.parentname < p.parentname;
如果您希望每对父母两次,在父母切换位置的情况下,可以将
<
更改为<>
。如果只希望每对只有一对,而在所有对中切换位置,则将其更改为>
。关于mysql - 在表中查找特定关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56648198/