簡體   English   中英

SQL-插入選擇(多列)

[英]SQL - Insert Into Select (multiple columns)

前端網絡專家陷入SQL深淵。 以下是我們當前的SQL查詢的原型:

 INSERT INTO table (table column)
 SELECT ad.val1, web.val2, ad.val3
 FROM ad
 LEFT JOIN web
 ON ad.val 4 = web.val4   

我們最近添加了一個web.val5列,我們想將其信息插入到與web.val4相同的列中

我使用ALL子句嘗試了以下操作:

 INSERT INTO table (table column)
 SELECT ad.val1, web.val2, ad.val3
 FROM ad
 LEFT JOIN web
 ON ad.val 4 = web.val4   
 AND ad.val4 = web.val5  

但是我一直得到0(或NULL?)。 是否可以在LEFT JOIN中添加某個子句,以使一個值等於同一張表中不同列中的兩個不同值? 抱歉,如果這令人困惑,我自己幾乎無法理解。

您可以考慮加入它兩次並匹配該條件,例如

 INSERT INTO table (table column)
 SELECT ad.val1, web.val2, ad.val3
 FROM ad
 LEFT JOIN web
 ON ad.val4 = web.val4  
 LEFT JOIN web w           //second join
 ON ad.val4 = w.val5  

在這里有點猜測,但是如果我理解您的問題,則您and條件會使其返回null值。 相反,您想要orin

INSERT INTO table (table column)
SELECT ad.val1, web.val2, ad.val3
FROM ad
    LEFT JOIN web ON ad.val4 IN (web.val4, web.val5)

暫無
暫無

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

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