![](/img/trans.png)
[英]MySQL Inner Join two tables on the maximum values of the second table
[英]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
所有記錄,您似乎需要表t2
和t1
的笛卡爾積,例如:
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.