mysql - SQL 查询 - 通过基于两个外键的重复条目生成结果

标签 mysql sql foreign-keys

我需要一个基于两个外键复制条目的 SQL 查询。为了解释我想要解决的问题,我在下面有一个简单的例子。我有两张 table ,一张有 child ,一张有 parent (后者未在此处显示)。 children 表在 parents 表中有两个引用,一个指向父亲,一个指向母亲:

(Table: "Children")
Name     Father_ID  Mother_ID
=============================
Adam        2          4
Emma        1          3
George      5          6

有一个名为“Parents”的表,Father_ID 和 Mother_ID 都指向该表。这意味着父亲和母亲列在同一个表中。

现在我想要一个生成这个结果的 SQL 查询:
Name     Parent_ID
==================
Adam        2
Adam        4
Emma        1
Emma        3
George      5
George      6

IE。具有重复条目的结果 - 每个父项一个。

我该如何解决?

最佳答案

使用UNION ALL :

select Name, Father_ID from Children 
UNION ALL
select Name, Mother_ID from Children

添加 ORDER BY Name如果需要的话。

关于mysql - SQL 查询 - 通过基于两个外键的重复条目生成结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30190845/

相关文章:

mysql - 如何避免sql查询中的临时表?

php - 从 MySQL 获取 friend 姓名列表

sql - 如何过滤以获取列的值恰好是排序后的某个数组,Bigquery

mysql - golang调用mysql函数

sql-server - 两个外键引用一个表-ON UPDATE SET NULL不起作用

mysql - 通过 case 语句从 group 中获取外键项的计数

php - 如何在 MySQL 语句/查询中使 CASE 语句动态化

MySQL:COUNT语句:为什么只显示一个订单ID?

sql - 将分隔字符串拆分为 2 个值。SQL Server 2008。你能帮我吗?

sql - 外键关系和 "belongs to many"