簡體   English   中英

聯接兩個表,將值插入第二個表

[英]Join two tables, Inserting values into second table

我嘗試在這里搜索類似的解決方案,但沒有找到解決方案,因此我想知道什么是完成以下任務的最佳方法。 我有桌子

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的行,但我真的不知道該怎么做。.有人可以提出一些想法解決該問題嗎?

對於t2.c1 = 7所有記錄,您似乎需要表t2t1的笛卡爾積,例如:

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

首先刪除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;

小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM