如果不可避免 做七次left join和right join,然后再union
[/Quote]
就是七个表,每两个都要连接吗? 比如有t1到t7共七个表那就这样:
select * from t1
left join t2 on t1.id=t2.id
left join t3 on t1.id=t3.id
left join t4 on t1.id=t4.id
left join t5 on t1.id=t5.id
left join t6 on t1.id=t6.id
left join t7 on t1.id=t7.id
union
select * from t2
right join t1 on t2.id=t1.id
left join t3 on t2.id=t3.id
left join t4 on t2.id=t4.id
left join t5 on t2.id=t5.id
left join t6 on t2.id=t6.id
left join t7 on t2.id=t7.id
union
select * from t3
right join t1 on t3.id=t1.id
right join t2 on t3.id=t2.id
left join t4 on t3.id=t4.id
left join t5 on t3.id=t5.id
left join t6 on t3.id=t6.id
left join t7 on t3.id=t7.id
......
是这样写吗?