[英]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
值。 相反,您想要or
或in
:
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.