2016-05-18 105 views
0

有沒有辦法參加對抗例如多列兩個表中的第一個表,我們有: -SQL連接兩個表對多列

Headers = Name, AB1, AB2, AB3, AB4 
Data = Lee, A, B, C ,D 

二表,我們有: -

Headers = Type, Time 
Data = A,1 
Data = B,2 
Data = C,3 
Data = D,4 

我正在尋找加入這兩個表,所以我得到以下所以每個AB列將查找另一個表中的時間值。

Name, AB1, AB2, AB3, AB4, AB1_time, AB2_time, AB3_time, AB4_time, 
Lee, A, B, C, D, 1, 2, 3, 4 

我正在尋找多個連接,但並不真正知道如何最好地去解決它。上面的數據是一個簡單的例子,但實際上我有兩個海量的SQL表,然後我會與其他數據集衝突。

+0

閱讀有關數據透視 –

+0

你能擴大你的問題,包括更多的數據?這個微不足道的例子給出的答案可能不適用於更大的數據集。 –

+0

我已經更新了上面的內容,是的,你是正確的,上面的例子是爲了簡化問題。然而實際上這些數據表是龐大的。 –

回答

0

您可以使用多個連接是這樣的:

select t1.*, t2a.time. t2b.time, t2c.time, t2d.time 
from t1 left join 
    t2 t2a 
    on t1.ab1 = t2a.type left join 
    t2 t2b 
    on t1.ab2 = t2b.type left join 
    t2 t2c 
    on t1.ab3 = t2c.type left join 
    t2 t2d 
    on t1.ab4 = t2d.type ;