所以我有两张桌子。 Table1有两列,col1和col2,其中col1已经填充。另一个表Table2有很多列,但是我需要1列sub,我需要它来填充Table1中的第2列。
我使用时的问题
INSERT INTO Table1 (col2) SELECT Table2.sub FROM Table2
是,是的,它将所需列的内容复制到Table1,但它为每个列创建一个新行。
表1看起来像:
+-----+------+
|col1 | col2 |
+-----+------+
|data | NULL |
+-----+------+
|data2| Null |
+-----+------+
执行上面的INSERT查询后,我得到:
+-----+------+
|col1 | col2 |
+-----+------+
|data | NULL |
+-----+------+
|data2| Null |
+-----+------+
|Null | data4|
+-----+------+
|Null | data5|
+-----+------+
我需要看的是:
+-----+-------+
|col1 | col2 |
+-----+-------+
|data | data4 |
+-----+-------+
|data2| data5 |
+-----+-------+
有什么想法吗?
答案 0 :(得分:1)
尝试以下查询
UPDATE Table1 set col2= SELECT Table2.sub FROM Table2 where Table1.col1=Table2.col1
OR
UPDATE Table1 set col2= (SELECT Table2.sub FROM Table2 where Table1.col1=Table2.col1)
我相信你在表2中也有col1,没有你不能比较两个表......
让我知道它是否有效......