在此先感谢,我有一个包含父ID的表,如果该项与父项绑定。我试图找出一种方法,如果id存在,从父节点中选择名称,如果它不是,则在一个select语句中选择当前名称。
示例:
产品表:
id |Name |ParentId
1 | Hello | null
2 | Goodbye | null
3 | Allo | 1
我想尝试找回一种方法来取回这样的东西:
id |Name |ParentId
1 | Hello | null
2 | Goodbye | null
3 | Hello | 1
再次感谢你。我一直试图让这样的东西工作一段时间。
答案 0 :(得分:2)
您可以使用自我加入和COALESCE()
:
SELECT p.id, COALESCE(p2.Name, p.Name), p.ParentId
FROM product p
LEFT JOIN product p2 ON p.ParentId = p2.id