[英]Insert values into a table from multiple tables using sqlite query
如果我有Table1作為
A B C
1 b.1 c.1
2 b.2 c.2
1 b.3 c.3
我的第二張表Table2為
A D E F G
1 d.1 e.1 f.1 g.1
2 d.2 e.2 f.2 g.2
我需要將上面的值插入空的Table3中,使其看起來像這樣。
A B C D E
1 b.1 c.1 d.1 e.1
2 b.2 c.2 d.2 e.2
1 b.3 c.3 d.1 e.1
因此,基本上我需要將Table1的每一行插入到Table3中。 對於每一行,我需要檢查A列,並從該列中找到相應的值D和E並插入Table3中。 是否可以在單個查詢中執行此操作?
要將Table1復制到Table3,我可以使用查詢
INSERT INTO Table3(A,B,C) SELECT A,B,C FROM Table1
然后,我需要從表3中獲取每一行,並使用A更新表2中的D和E的值。 是否可以使用更好的解決方案直接將兩個表都插入到Table3中? 感謝您的幫助,因為我是數據庫和查詢的初學者。
要合並兩個表,請使用聯接:
-- INSERT ...
SELECT A, B, C, D, E
FROM Table1
JOIN Table2 USING (A);
如果找不到匹配的Table2
行,則不會生成結果行。 如果在這種情況下需要結果行(缺失值為NULL),請改用外部聯接 。
INSERT INTO Table3 (A,B,C,D,E)
SELECT t1.A, t1.B, t1.C, t2.D, t2.E FROM Table1 t1
INNER JOIN Table2 t2 ON t2.A = t1.A
這可能會解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.