我有以下问题。我创建了一个名为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/

10-12 01:08