我有一个mysql表
MENU_ID MENU_NAME PARENT_ONE PARENT_TWO
1 home 0 0
2 home_sub 1 0
3 third_home 1 2
我希望这个名字与父母一方相同,如果有的话,我希望每一行都有父二元组ID。 我已经尝试了一些东西,但它只给出了一个有父亲一和两个值的东西,比如
MENU_ID MENU_NAME PARENT_ONE PARENT_TWO MENU_NAME MENU_NAME
3 third_home 1 2 home home_sub
但我想要
MENU_ID MENU_NAME PARENT_ONE PARENT_TWO MENU_NAME MENU_NAME
1 home 0 0
2 home_sub 1 0 home
3 third_home 1 2 home home_sub
this the query that i tried
SELECT a.*, b.MENU_NAME, c.MENU_NAME
FROM menu_table a JOIN menu_table b ON a.PARENT_ONE = b.MENU_ID
JOIN menu_table c ON a.PARENT_TWO = c.MENU_ID ORDER BY a.MENU_ID;
如果有人能帮助我的话,请高级谢谢!
答案 0 :(得分:1)
您应该使用左连接(连接是内部连接的别名)
SELECT a.*, b.MENU_NAME, c.MENU_NAME
FROM menu_table a
LEFT JOIN menu_table b ON a.PARENT_ONE = b.MENU_ID
LEFT JOIN menu_table c ON a.PARENT_TWO = c.MENU_ID
ORDER BY a.MENU_ID;