我有2个MYSQL表:
TABLE 1:
PRODUCTID | BRAND | BASECOLOR | COLORNAME
Table 2:
PRODUCTID | BRAND | COLORNAME
在表1中,字段'COLORNAME'为空,字段'PRODUCTID'和'BRAND'必须在两个表中匹配。我需要将行'COLORNAME'从table2移到表1.我已经完成了这个SQL请求:
INSERT INTO tablel (COLORNAME) SELECT COLORNAME FROM table2 WHERE table1.PRODUCTID = table2.PRODUCTID AND table1.BRAND = table2.BRAND
我得到了这个答案:
'where子句'中的未知列'table1.PRODUCTID'
我是SQL的新手,所以我有点失落,我会感谢一些帮助。
答案 0 :(得分:2)
试试这个:
update table1 tab1, table2 tab2 set tab1.colorname=tab2.colorname where tab2.brand=tab1.brand;
答案 1 :(得分:0)
INSERT INTO tablel (COLORNAME) (SELECT t2.COLORNAME FROM table2 t2,tablel t1 WHERE t1.PRODUCTID = t2.PRODUCTID AND t1.BRAND = t2.BRAND)
答案 2 :(得分:0)
您需要UPDATE JOIN表而不是INSERT:
UPDATE TABLE1 a
JOIN TABLE2 b ON a.PRODUCTID=b.PRODUCTID AND a.BRAND=b.BRAND
SET a.COLORNAME = b.COLORNAME