如何使用SQL语句将一个表的一行中的值插入到另一个表的列中
问题描述:
我有两个表T1和T2。如何使用SQL语句将一个表的一行中的值插入到另一个表的列中
T1:
T1CN1 T1CN2 T1CN3
------ ------ ------
T1C1R1 T1C2R1 T1C3R1
T1C1R2 T1C2R2 T1C3R2
T1C1R3 T1C2R3 T1C3R3
T1C1R4 T1C2R4 T1C3R4
T1C1R5 T1C2R5 T1C3R5
T1C1R6 T1C2R6 T1C3R6
T2:
T2CN1 T2CN2 T2CN3 T2CN4 T2CN5 T2CN6 T2CN7
------ ------ ------ ------ ------ ------ ------
T2C1R1 T2C2R1 T2C3R1 T2C4R1 T2C5R1 T2C6R1 T2C7R1
T2C1R2 T2C2R2 T2C3R2 T2C4R2 T2C5R2 T2C6R2 T2C7R2
T3:
T3CN1
------
T3C1R1
我需要一个语句,得到结果为:
结果:
T1CN1 T1CN2 T1CN3
------ ------ ------
T1C1R1 T2C2R1 T1C3R1
T1C1R2 T2C3R1 T1C3R2
T1C1R3 T2C4R1 T1C3R3
T1C1R4 T2C5R1 T1C3R4
T1C1R5 T2C6R1 T1C3R5
T1C1R6 T2C7R1 T1C3R6
如果T3C1R1 = T2C1R1
否则应在T2的第二行复制到T1
的第二列我怎样才能做到这一点使用SQL语句?
FYI,
T1CN1 ----->表1 columnname1(T1的第一列名)
......
T1C1R1 ----->表1 column1row1(数据位于T1的C1R1处)
答
您可以在所需列上使用连接,连接T1和T2。 使用case语句检查值并根据需要更改值。
插入T1(列的列表) 选择T1C1, 情况下,当T1C1 = '值X' 然后T1C1别的T2C2端 从T1上 T1C1 = T2C2
加入T2