所以我想要完成的是与伟大的祖父母一起获得一对伟大的孙子孙女。我有一个名为Parents
的表,其中包含child
和parent
所以我需要比较孩子和父母,并检查它是否匹配。我可以在java中做到这一点没有问题我只是无能为力如何在mysql中做到这一点。任何帮助或提示都很棒
child|parent
------------
will |john
john |jim
jim |joe
所以我想得到价值观,乔,因为将是乔的伟大的孙子
答案 0 :(得分:2)
您需要做的是在以下两个订单中加入Parents
表:
伟大的父母 - >祖父母 - >父
parent - >祖父母 - >伟大的父母
示例:
SELECT
GreatGrandParents.parent AS great_grand_parent,
Parents.child AS great_grand_child
-- GreatGrandParents.parent is the great grand parent.
-- GreatGrandParents.child is the grand parent.
FROM Parents AS GreatGrandParents
-- GrandParents.parent is the grand parent.
-- GrandParents.child is the parent
INNER JOIN Parents AS GrandParents
ON GrandParents.parent = GreatGrandParents.child
-- Parents.parent is the parent.
-- Parents.child is the great grand kid of great grand parents.
INNER JOIN Parents
ON Parents.parent = GrandParents.child
有关示例,请参阅http://sqlfiddle.com/#!2/ab228/1。这将导致乔成为威尔的伟大父母。