我需要一个从3个表中获取数据的查询帮助,如下所示。
表T1 -将tID作为主键。表T2 - TID是此表中的外键。表T3 - rname与t2中的rname相同,但这两个表并不相关。
我尝试过使用inner join,它没有给出想要的结果(在所有行上显示相同的SREF值),而Cross join生成一个产品。
你能帮我得到想要的输出部分的输出吗?
谢谢
Gagan
将表t1 (tID,ts,Val)创建为select
1,to_date('2/2/2015 12:05','MM/DD/YYYY HH24:MI'),1来自双重联合all select
2,to_date('2/2/2015 12:05','MM/DD/YYYY HH24:MI'),2来自双并集所有选择
3,to_date('2/2/2015 12:05','MM/DD/YYYY HH24:MI'),2来自双并集所有选择
1,to_date('2/2/2015 12:10','MM/DD/YYYY HH24:MI'),1来自双重联合all select
2,to_date('2/2/2015 12:10','MM/DD/YYYY HH24:MI'),2来自双并集所有选择
3,to_date('2/2/2015 12:10','MM/DD/YYYY HH24:MI'),2来自双并集所有选择
1,to_date('2/2/2015 12:15','MM/DD/YYYY HH24:MI'),null from dual union all select
2,to_date('2/2/2015 12:15','MM/DD/YYYY HH24:MI'),3来自双并集所有选择
3,to_date('2/2/2015 12:15','MM/DD/YYYY HH24:MI'),2来自双联合all select
1,to_date('2/2/2015 12:20','MM/DD/YYYY HH24:MI'),null from dual union all select
2,to_date('2/2/2015 12:20','MM/DD/YYYY HH24:MI'),1来自双并集所有选择
3,to_date('2/2/2015 12:20','MM/DD/YYYY HH24:MI'),3来自双并集所有选择
1,to_date('2/2/2015 12:25','MM/DD/YYYY HH24:MI'),null from dual union all select
2,to_date('2/2/2015 12:25','MM/DD/YYYY HH24:MI'),10来自双联合所有选择
3,to_date('2/2/2015 12:25','MM/DD/YYYY HH24:MI'),9来自双联合all select
1,to_date('2/2/2015 12:30','MM/DD/YYYY HH24:MI'),1来自双联合all select
2,to_date('2/2/2015 12:30','MM/DD/YYYY HH24:MI'),2来自双并集所有选择
3,to_date('2/2/2015 12:30','MM/DD/YYYY HH24:MI'),1来自双联合all select
1,to_date('2/2/2015 12:35','MM/DD/YYYY HH24:MI'),null from dual union all select
2,to_date('2/2/2015 12:35','MM/DD/YYYY HH24:MI'),2来自双并集所有选择
3,to_date('2/2/2015 12:35','MM/DD/YYYY HH24:MI'),1来自双并集所有选择
1,to_date('2/2/2015 12:40','MM/DD/YYYY HH24:MI'),null from dual union all select
2,to_date('2/2/2015 12:40','MM/DD/YYYY HH24:MI'),2来自双并集所有选择
3,to_date('2/2/2015 12:40','MM/DD/YYYY HH24:MI'),2来自dual;
将表t2 (tID,sname,rname)创建为select
1,SN1,来自双并集的RN1全部选择
2,SN2,来自双并集的RN2全部选择
3,SN3,来自双并集的RN3全部选择
4,SN4,来自双并集的RN4全部选择
5,SN5,来自双并集的RN5全部选择
6,SN6,来自双并集的RN6全部选择
7,SN7,来自双并集的RN7全部选择
8,SN8,来自双并集的RN8全部选择
9,SN9,来自双并集的RN9全部选择
10,dual中的SN10,RN10;
将表t3 (rid、rname、sref)创建为select
来自双并集的R1、RN1、SREF1全部选择
来自双并集的R2、RN2、SREF2全部选择
来自双并集的R3、RN3、SREF3全部选择
来自双并集的R4、RN4、SREF4全部选择
来自双并集的R5、RN5、SREF5全部选择
来自双并集的R6、RN6、SREF6全部选择
来自双并集的R7、RN7、SREF7全部选择
来自双并集的R8、RN8、SREF8全部选择
来自双并集的R9、RN9、SREF9全部选择
来自dual的R10、RN10、SREF10;
所需输出
域名、SREF1
1,SN1,RN1,SREF1
2,SN2,RN2,SREF2
3,SN3,RN3,SREF3
发布于 2015-02-11 18:04:31
您写道:“表T1 -将tID作为主键。表T2 - TID是此表中的外键”,但在本例中却是相反的情况。
您写道:"Table T3 - sname等于t2中的sname,但这两个表不相关。“,但是在T3中没有sname。
你试过了吗:select t1.TID, t2.SNAME, t2.RNAME, t3.SREF from t1,t2,t3 where t1.tid=t2.tid and t2.rname=t3.rname
https://stackoverflow.com/questions/28451094
复制相似问题