我有3张桌子。
A B C
id col1 col2 id col3 col4 sno id col5 col6
1 arv 12 1 xcv sdf 1 2 qwe arv
2 qwe 34 2 2 zxc cvb
3 asd 23
我希望输出像
id col1 col2 col3 col4 col5 col6
1 arv 12 xcv sdf
2 qwe 34 qwe arv
3 qwe 34 zxc cvb
如何获得上述结果?
B id是A id的外键。 sno是C中的主键。 C id是A id的外键。
答案 0 :(得分:1)
您可以使用以下查询:
SELECT @id := @id + 1 AS id,
A.col1, A.col2, B.col3, B.col4, C.col5, C.col6
FROM A
LEFT JOIN B ON A.id = B.id
LEFT JOIN C ON A.id = C.id
CROSS JOIN (SELECT @id := 0) AS var
WHERE B.id IS NOT NULL OR C.id IS NOT NULL
ORDER BY A.id, C.sno
答案 1 :(得分:0)
鉴于C与A
有关SELECT A.id, A.col1, A.col2, B.col3, B.col4, C.col5, c.Col6
FROM A
LEFT OUTER JOIN B ON B.id = A.id
LEFT OUTER JOIN C ON C.id = A.id