我尝试在这里搜索类似的解决方案,但没有找到解决方案,因此我想知道什么是完成以下任务的最佳方法。 我有一张桌子
Table1 t1
t1.c1 ..
1
2
3
4
5
6
值
并有另一个这样的表
Table2 t2
t2.c1 t2.c2 t2.c3 ..
1 v1 v2
2 v3 v4
3 v5 v6
5 v7 v8
7 v9 v10
我需要插入/更新表2 它的t2.c1 = 7 所以结果看起来像这样
t2.c1 t2.c2 t2.c3 ..
1 v1 v2
2 v3 v4
3 v5 v6
5 v7 v8
1 v9 v10
2 v9 v10
3 v9 v10
4 v9 v10
5 v9 v10
6 v9 v10
我试图首先查看t2.c1列中是否存在值7。如果存在,则插入新行。插入后,删除值7的行,但我真的不知道该怎么做。 谁能给我一些想法解决这个问题?
答案 0 :(得分:0)
对于所有t2
的记录,您似乎都需要表t1
和t2.c1 = 7
的笛卡尔积,例如:
INSERT INTO Table2
SELECT t1.c1, t2.c2, t2.c3
FROM Table1 t1, Table2 t2
WHERE t2.c1 = 7
其后用t2.c1 = 7
删除这些记录,例如:
DELETE FROM Table2 t2 WHERE t2.c1 = 7
答案 1 :(得分:0)
首先删除c1 = 7,然后从table1中填充数据
DELETE FROM Table2
WHERE c1 = 7;
INSERT INTO Table2 (c1,c2,c3)
SELECT t1.c1,t1.c2,t1.c3
FROM Table1 as t1;