我有两个表 - 对象和 ObjectRelation 。
对象表:
╔════╦═════════════╗
║ id ║ name ║
╠════╬═════════════╣
║ 1 ║ Client Side ║
╠════╬═════════════╣
║ 2 ║ Javascript ║
╠════╬═════════════╣
║ 3 ║ Html ║
╠════╬═════════════╣
║ 4 ║ Server Side ║
╠════╬═════════════╣
║ 5 ║ NodeJS ║
╚════╩═════════════╝
ObjectRelation表:
╔════╦══════════╦════════════╗
║ id ║ parentid ║ childrenid ║
╠════╬══════════╬════════════╣
║ 1 ║ 1 ║ 2 ║
╠════╬══════════╬════════════╣
║ 2 ║ 1 ║ 3 ║
╠════╬══════════╬════════════╣
║ 3 ║ 4 ║ 5 ║
╚════╩══════════╩════════════╝
这就是我希望看到的结果:
╔════╦═════════════╦════════════╗
║ id ║ parent ║ children ║
╠════╬═════════════╬════════════╣
║ 1 ║ Client Side ║ Javascript ║
╠════╬═════════════╬════════════╣
║ 2 ║ Client Side ║ Html ║
╠════╬═════════════╬════════════╣
║ 3 ║ Server Side ║ Node JS ║
╚════╩═════════════╩════════════╝
在mySQL中有没有机会这样做? 我尝试了很多组合,但仍然没有结果。
提前致谢。
答案 0 :(得分:1)
只需JOIN
两次Object
表。一次为parentid
,一次为childrenid
。
SELECT ObjectRelation.id, parent.name AS parent, children.name AS children
FROM ObjectRelation
JOIN Object AS parent ON parent.id=parentid
JOIN Object AS children ON children.id=childrenid