使用多个表

时间:2017-04-10 18:52:47

标签: sql select join

我想根据以下标准加入三个表,T1,T2和T3,参考列f1,f2和f3:

显示来自T1的所有记录,仅显示来自T2的记录,其中T1.f1 = T2.f1和T1.f2 = T2.f2,并显示来自T3的记录,其中T2.f3 = T3.f3。

f1值(ID)仅在T1上显示一次,在T2中只有一个关联的f2和多次,但在T2中每个f2(日期标记)只有一次,所以通过匹配我想要的两个(ID和日期)将T3中的唯一记录与T1中的f1值进行匹配。

我需要匹配表1中每个f1的T3记录,其中T2作为这些记录之间的连接。

我试过

SELECT T1.*, T2.f1, T2.f2, T2.f3, T3.*
FROM ((T1 LEFT JOIN T2 ON T1.f1 = T2.f1 AND T1.f2 = T2.f2) LEFT JOIN T3 ON T2.f3=T3.f3)

然而,不仅我的所有T1 f1记录都显示,但我得到许多重复的行,可能是因为T2中有许多f1重复值。

我不习惯SQL语句,所以请帮我看看有什么问题。

0 个答案:

没有答案