假设非常简单的模式
主表
main_id, ...
1 , ...
2 , ...
表子1
main_id, sub1_data
1 , a
1 , b
2 , g
表子2
main_id, sub2_data
1 , 1
2 , 1
2 , 2
作为输出我想要
main_id, sub1_data, sub2_data
1 , a , 1
1 , b , <null>
2 , g , 1
2 , <null> , 2
使用联合我可以接近但每个列表都有它自己的行
SELECT main_id, sub1_data, NULL
FROM sub1
UNION
SELECT main_id, NULL, sub2_data
FROM sub2
结果
main_id, sub1_data, sub2_data
1 , a , <null>
1 , b , <null>
1 , <null> , 1
2 , g , <null>
2 , <null> , 1
2 , <null> , 2
那么有没有办法让它们共享两个行并使用与最长列表一样多的行?