select t1.*,t2.*,t3.sl1,t3.sl2,t3.sl3
from (t3 inner join t4 on t3.c_no=t4.c_no and t3.p_no=t4.p_no
inner join t5 on t3.c_no=t5.c_no and t3.p_no=t5.p_no )
as t3 inner join t1 on t3.c_no=t1.c_no
inner join t2 on t3.p_no=t2.p_no
from (t3 inner join t4 on t3.c_no=t4.c_no and t3.p_no=t4.p_no
inner join t5 on t3.c_no=t5.c_no and t3.p_no=t5.p_no )
as t3 inner join t1 on t3.c_no=t1.c_no
inner join t2 on t3.p_no=t2.p_no
解决方案 »
- SQL SERVER查询分析器中调试过程时出现这种情况,如解?望高人指点
- SQLServer 单字符通配符问题
- shiliangdong(笑笑而过)请进,关于group by 联合的问题!
- sql2005根目录属性打不开,error:17750
- 请问如何在XP下安装SQL SEVER???
- 非常急!!SQL2005中XML类型分组问题!请大家帮帮忙,谢谢谢谢再谢谢
- 执行动态SQL时出错!
- 把一个表的字段做常量输出
- 请教win98&win2000的数据安全问题? 能满意答复者给300分!(顺便要告诉我如何加分?)
- 简单问题?
- 求助,关于sql server 2000 的安装问题(在线 等)
- 又一道面试题(月薪5000-6000):举例说明inner join和子查询什么时候可通用,什么时候又不能代替对方。
from T3 c
left join T1 a on c.c_no=a.c_no
left join T2 b on c.p_no=b.p_no
left join T4 d on c.c_no=d.c_no and c.p_no=d.p_no
left join T5 e on c.c_no=e.c_no and c.p_no=e.p_no
不对吧,T1,T2,T3 记录数都不同的,T3中c_no,p_no "T4,T5"中未必有,反之也然。就是T3,T4,T5中c_no,p_no 不是都能一一对应的,只是部分对应。当然T3,T4,T5中c_no,p_no全部在T1,T2中。要求显示在T3,T4,T5任一个表中有的记录,没有的不显示。能对应的要显示,不能对应的也要显示。
(select a.*,b.* from t1 a,t2 b) a
left join t3 b on a.c_no=b.c_no and a.p_no=b.p_no
left join t4 c on a.c_no=c.c_no and a.p_no=c.p_no
left join t5 d on a.c_no=d.c_no and a.p_no=d.p_no
from t1 join
(select a.sl1,b.sl2,c.sl3,a.c_no,a.p_no from t3 a join t4 b on a.c_no=b.c_no and a.p_no=b.p_no
join t5 c on b.c_no=c.c_no and b.p_no=c.p_no) t
on t1.c_no=t.c.c_no
join t2 on t.p_no=t2.p_no
T1表:
c_no
c_nameT2:
p_no
p_nameT3:
c_no
p_no
sl3T4:
c_no
p_no
sl4T5:
c_no
p_no
sl5要求输出:
c_no
c_name
p_no
p_name
sl3
sl4
sl5T3,T4,T5 记录数都不同的,T3中c_no,p_no "T4,T5"中未必有,反之也然。就是T3,T4,T5中c_no,p_no 不是都能一一对应的,只是部分对应。当然T3,T4,T5中c_no,p_no全部在T1,T2中。要求显示在T3,T4,T5任一个表中有的记录,没有的不显示。能对应的要显示(能对应多少显示多少,而且要在一行里),不能对应的也要显示。
mschen() 答案没有显示T3,T4,T5之间的没有对应关系的记录