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