Mysql 将缺少的ID和价格从一个表复制到另一个表
我有Mysql 将缺少的ID和价格从一个表复制到另一个表,mysql,Mysql,我有表A包含1800条记录和表B包含800条记录。我想将缺少的ID+价格从表A复制到表B 两个表具有不同的列。公共列是ID 我已经开始构建查询,但我不知道如何知道只复制哪些列 到目前为止,我有这个 INSERT INTO productprice SELECT products.productID, products.rrp FROM products LEFT OUTER JOIN productprice ON productprice.productID = products.produc
表A
包含1800条记录和表B
包含800条记录。我想将缺少的ID+价格从表A
复制到表B
两个表具有不同的列。公共列是ID
我已经开始构建查询,但我不知道如何知道只复制哪些列
到目前为止,我有这个
INSERT INTO productprice
SELECT products.productID, products.rrp FROM products
LEFT OUTER JOIN productprice ON productprice.productID = products.productID
WHERE productprice.productID IS NULL;
问题还在于,我要复制的第二列值是rrp
列,从表A
复制到表B
中的列。基本上:
products.productID
和products.rrp
->productprice.productID
和productprice.price
此查询应该可以工作
INSERT INTO productprice (productID, price)
SELECT productID, rrp
FROM products
WHERE (productID, rrp) NOT IN
(SELECT productID, price
FROM productprice);
下面是演示:此查询应该可以运行
INSERT INTO productprice (productID, price)
SELECT productID, rrp
FROM products
WHERE (productID, rrp) NOT IN
(SELECT productID, price
FROM productprice);
下面是演示:应该可以:
INSERT INTO productprice(id,rrp) SELECT products.productID, products.rrp FROM products LEFT OUTER JOIN productprice ON productprice.productID = products.productID WHERE productprice.productID IS NULL;
通过在insert语句中指定列。现在,如果表中有一些其他必需的列,那么这将不起作用。这应该可以:
INSERT INTO productprice(id,rrp) SELECT products.productID, products.rrp FROM products LEFT OUTER JOIN productprice ON productprice.productID = products.productID WHERE productprice.productID IS NULL;
通过在insert语句中指定列。现在,如果表中有一些其他必需的列,那么这将不起作用