子女-父母遗传学-其他父母的表



我有一个名为"child_parent"的表,它列出了孩子及其父母的ID,比如说,指的是名为"person"的表。子-父对是唯一的,一个孩子的父母不能超过两个。

child  parent
3      1
3      2
4      1
7      8

我想要一个"其他"父级(称之为"ChildOfpID_OtherParent")的表,该表包含所有父级ID(pID)等于1的子级,如果没有列出其他父级,则为NULL。所以如果pID=1,我想要:

child_of_pID   other_parent
3              2
4              NULL

我很难弄清楚如何生成这样一个表。

此查询将返回示例的正确结果

SELECT p1.child as child_of_pID, p2.parent as other_parent 
FROM child_parent AS p1 
  LEFT JOIN child_parent p2 
  ON p1.parent <> p2.parent AND p1.child = p2.child
WHERE  p1.parent = 1;

这很好-我必须更多地研究别名。我认为缺少了一个AS,并将其推广到pID(在上面的例子中=1),我会写:

SELECT p1.child as child_of_pID, p2.parent as other_parent 
FROM child_parent AS p1 
  LEFT JOIN child_parent AS p2 
  ON p1.parent <> p2.parent AND p1.child = p2.child
WHERE  p1.parent = pID;

最新更新