【发布时间】:2015-04-11 15:09:47
【问题描述】:
我需要查询帮助以从 3 个表中获取数据,如下所示。
表 T1 - 以 tID 作为主键 表 T2 - TID 是此表中的外键 表 T3 - rname 等于 t2 中的 rname 但这两个表不相关。
我尝试过使用内部联接,但它没有给出所需的结果(在所有行中显示相同的 SREF 值)并且交叉联接生成一个产品。
请您帮忙,以便我获得所需输出部分中给出的输出。
谢谢
加根
创建表 t1 (tID, ts, Val) 作为选择
1, to_date('2/2/2015 12:05', 'MM/DD/YYYY HH24:MI'), 1 from dual union all select
2, to_date('2/2/2015 12:05', 'MM/DD/YYYY HH24:MI'), 2 from dual union all select
3, to_date('2/2/2015 12:05', 'MM/DD/YYYY HH24:MI'), 2 from dual union all select
1, to_date('2/2/2015 12:10', 'MM/DD/YYYY HH24:MI'), 1 from dual union all select
2, to_date('2/2/2015 12:10', 'MM/DD/YYYY HH24:MI'), 2 from dual union all select
3, to_date('2/2/2015 12:10', 'MM/DD/YYYY HH24:MI'), 2 from dual union all select
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 from dual union all select
3, to_date('2/2/2015 12:15', 'MM/DD/YYYY HH24:MI'), 2 from dual union 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 from dual union all select
3, to_date('2/2/2015 12:20', 'MM/DD/YYYY HH24:MI'), 3 from dual union all select
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 from dual union all select
3, to_date('2/2/2015 12:25', 'MM/DD/YYYY HH24:MI'), 9 from dual union all select
1, to_date('2/2/2015 12:30', 'MM/DD/YYYY HH24:MI'), 1 from dual union all select
2, to_date('2/2/2015 12:30', 'MM/DD/YYYY HH24:MI'), 2 from dual union all select
3, to_date('2/2/2015 12:30', 'MM/DD/YYYY HH24:MI'), 1 from dual union 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 from dual union all select
3, to_date('2/2/2015 12:35', 'MM/DD/YYYY HH24:MI'), 1 from dual union all select
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 from dual union all select
3, to_date('2/2/2015 12:40', 'MM/DD/YYYY HH24:MI'), 2 来自双;
创建表 t2 (tID, sname, rname) 作为选择
1、SN1、RN1 from dual union all select
2、SN2、RN2 from dual union all select
3、SN3、RN3 from dual union all select
4、SN4、RN4 from dual union all select
5、SN5、RN5从双联全选
6、SN6、RN6 from dual union all select
7、SN7、RN7从双联全选
8、SN8、RN8从双联全选
9、SN9、RN9 from dual union all select
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
【问题讨论】:
-
请展示你的加入尝试——这正是你应该做的,你很可能错过了一些东西。
-
这是我写的查询 SELECT T1."TID" AS TID, T2."SNAME" AS SNAME, T2."RNAME" AS RNAME,T3."SREF" AS SREF FROM "SDB"。 "T1" T1 INNER JOIN "SDB"."T2" T2 ON T1."T_ID" = T2."TID" INNER JOIN "SDB"."T3" T3 ON T2."RNAME" = T3."RNAME"跨度>
-
请将其编辑到您的问题中。
标签: join inner-join cross-join