在表中查找特定关系
Posted
技术标签:
【中文标题】在表中查找特定关系【英文标题】:Finding specific relation in table 【发布时间】:2019-06-18 11:33:32 【问题描述】:我有以下问题。我创建了一个名为 parentchildrenName 的表。该表在每一行中都包括父母的姓名和一个孩子的姓名。现在我想返回一对父母的名字,他们的孩子名字相同。这意味着它应该返回具有特定 childName 的 parent1 和 parent2 的名称,如下所示:
SELECT parentName1, parentName2 childName FROM parentchildren
我不确定如何使这个命令在 mysql 中工作,任何帮助将不胜感激。
【问题讨论】:
How to create a MySQL hierarchical recursive query的可能重复 该副本包含查询方法的答案,这些方法适用于 MySQL 5.1 到 MySQL 8 以查询子父关系。 【参考方案1】:您可以对相同的子名称但不同的父名称使用自联接。
SELECT p.parentname,
p.childname,
m.parentname
FROM parentchildren p
INNER JOIN parentchildren m
ON m.childname = p.childname
AND m.parentname < p.parentname;
如果您希望每对父母两次,父母互换位置,您可以将<
更改为<>
。或者,如果您希望每对只有一个,但要切换所有对中的位置,请将其更改为 >
。
【讨论】:
以上是关于在表中查找特定关系的主要内容,如果未能解决你的问题,请参考以下文章