三个时间连接查询在同一个表
问题描述:
我有一个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;
先进感谢的,如果有人能帮助我这个!
答
你应该使用左连接(连接是用于内部连接别名)
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;
感谢的@scaisEdge它的工作的! –
@ M.Alim然后请标记为正确 – e4c5