我需要一个查询帮助来从3个表中获取数据,如下所示。
表T1 - 将tID作为主键 表T2 - TID是此表中的外键 表T3 - rname等于t2中的rname,但这两个表不相关。
我尝试使用内部联接,但没有提供所需的结果(在所有行中显示相同的SREF值),而且Cross join会生成产品。
请你帮忙,以便我得到所需输出部分的输出。
由于
加甘
创建表t1(tID,ts,Val)作为选择
1,to_date('2/2/2015 12:05','MM / DD / YYYY HH24:MI'),1来自双联盟全部选择
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来自双联盟全部选择
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('2015年2月2日12:15','MM / DD / YYYY HH24:MI'),双联盟中的null全部选择
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来自双联盟全部选择
1,to_date('2/2/2015 12:20','MM / DD / YYYY HH24:MI'),双联盟中的null全部选择
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('2015年2月2日12:25','MM / DD / YYYY HH24:MI'),双联盟中的null全部选择
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来自双联盟全部选择
1,to_date('2/2/2015 12:30','MM / DD / YYYY HH24:MI'),1来自双联盟所有选择
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来自双联盟全部选择
1,to_date('2015年2月2日12:35','MM / DD / YYYY HH24:MI'),双联盟中的null全部选择
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'),从双联盟中取消全部选择
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来自双重;
创建表t2(tID,sname,rname)作为选择
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,SN10,RN10来自双;
创建表t3(rid,rname,sref)作为选择
来自双联合的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来自双联盟全选
R10,RN10,SREF10来自双;
输出所需
TID,SNAME,RNAME,SREF1
1,SN1,RN1,SREF1
2,SN2,RN2,SREF2
3,SN3,RN3,SREF3
答案 0 :(得分:0)
您写道:“表T1 - 将tID作为主键表T2 - TID是此表中的外键”,但在示例中它是相反的方式。
你写道:“表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