Mysql 获取后跟子行的父行
我发现的另一个家长->孩子的答案似乎并不能真正解决我的问题,所以我来看看Mysql 获取后跟子行的父行,mysql,sql,Mysql,Sql,我发现的另一个家长->孩子的答案似乎并不能真正解决我的问题,所以我来看看 left-right-connections cid leftId rightId 1 1 1 2 1 2 3 1 3 4 2 4 5 3 5 5 3 6 left id desc 1 RED 2 GREEN 3
left-right-connections
cid leftId rightId
1 1 1
2 1 2
3 1 3
4 2 4
5 3 5
5 3 6
left
id desc
1 RED
2 GREEN
3 BLUE
right
id desc
1 car
2 train
3 helicopter
4 truck
5 boat
6 roller skates
我需要的是帮助创建返回如下内容的查询
cid leftId rightId desc
1 RED
1 1 1 car
2 1 2 train
3 1 3 helicopter
2 GREEN
4 2 4 truck
3 BLUE
5 3 5 boat
6 3 6 roller skates
我可以让连接工作,但是当我需要左项成为所有右项子项的父项时,我会得到每行中的所有leftId、right Id和desc
我想我需要的是一个leftId的distinct,然后是一个获取所有相关rightId项的子查询。我可以做非常基本的sql,但这太过分了
我希望我在这里解释的有意义
感谢您的帮助。您可以首先获得不同的leftId数据,然后与rightId数据合并,并按列排序以获得所需的输出。这是显示或用户界面所需要的吗 例:
是的,这个可以放在桌子上。还有,SQL小提琴!太酷了,谢谢你!这太完美了。非常感谢。这里我的小提琴改成了一些实际的表名和列
SELECT DISTINCT NULL AS CID, leftID, NULL AS rightId, b.descr
FROM leftrightT A
INNER JOIN leftT B on A.leftId = B.id
UNION ALL
SELECT CID, leftID, rightId, b.descr
FROM leftrightT A
INNER JOIN rightT B on A.rightId = B.id
order by leftId, CID