我的问题是关于下表:
我正在尝试选择id,parent_id和parent_id主体(其中parent_id主体是同一个表中id = parent_id的行的主体行),即如果我们查看图片中的第一行,选择id = 11422,parent_id = 211,parent_id body将是包含id = 211的行的主体。
我很难找到编写SQL命令的正确方法来执行此操作,是否可以执行此操作?如何?
答案 0 :(得分:1)
我认为你想要做一个叫做自我加入的事情,这只不过是把一张桌子连接到自己身上。
SELECT t1.id, t1.parent_id, COALESCE(t2.body, '')
FROM yourTable t1
LEFT JOIN yourTable t2
ON t1.parent_id = t2.id
如果您希望每个LEFT JOIN
值都显示在结果集中,即使其id
没有匹配的parent_id
值,我也会使用id
。在这种情况下,我使用COALESCE
显示正文的空字符串。