2016-05-18 106 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 ;