SQL 根据多列连接两个表
SQL Joining two tables against multiple columns
有没有办法将两个 table 与多个列连接起来,例如在第一个 table 中我们有:-
Headers = Name, AB1, AB2, AB3, AB4
Data = Lee, A, B, C ,D
第二个 table 我们有:-
Headers = Type, Time
Data = A,1
Data = B,2
Data = C,3
Data = D,4
我想加入两个 table,所以我得到以下内容,每个 AB 列都会从另一个 table.
中查找时间值
Name, AB1, AB2, AB3, AB4, AB1_time, AB2_time, AB3_time, AB4_time,
Lee, A, B, C, D, 1, 2, 3, 4
我一直在寻找进行多重连接的方法,但真的不知道如何最好地进行。上面的数据是一个简单的例子,但实际上我有两个巨大的 SQL 表,然后我将与其他数据集发生冲突。
您像这样使用多个连接:
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 ;
有没有办法将两个 table 与多个列连接起来,例如在第一个 table 中我们有:-
Headers = Name, AB1, AB2, AB3, AB4
Data = Lee, A, B, C ,D
第二个 table 我们有:-
Headers = Type, Time
Data = A,1
Data = B,2
Data = C,3
Data = D,4
我想加入两个 table,所以我得到以下内容,每个 AB 列都会从另一个 table.
中查找时间值Name, AB1, AB2, AB3, AB4, AB1_time, AB2_time, AB3_time, AB4_time,
Lee, A, B, C, D, 1, 2, 3, 4
我一直在寻找进行多重连接的方法,但真的不知道如何最好地进行。上面的数据是一个简单的例子,但实际上我有两个巨大的 SQL 表,然后我将与其他数据集发生冲突。
您像这样使用多个连接:
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 ;