前端网络专家陷入了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

关于php - SQL-插入选择(多列),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38861073/

10-13 04:53