我有两个表,table1
和table2
table1
列
product_name
product_info
table2
列
product_name
product_info
Product_address
etc
如果table1
table2
我尝试了下面的代码,但它没有插入。我在哪里弄错了?
as
begin
insert into table2 (product_name product_info Product_address etc) values (...);
INSERT INTO table1(Product_Name)
SELECT Product_Name
FROM tb_new_purchase
WHERE NOT EXISTS (SELECT Product_Name FROM tb_new_product_Name_id )
end
答案 0 :(得分:1)
您需要一个相关的子查询。我发现你的表名不一致。我想这就是你想要的:
INSERT INTO table1(Product_Name)
SELECT Product_Name
FROM table2
WHERE NOT EXISTS (SELECT Product_Name
FROM table1
where table1.Product_Name = Table2.Product_Name
);
您的查询永远不会插入新名称,因为查询中至少有一行。顺便说一句,你也可以表达为:
INSERT INTO table1(Product_Name)
SELECT Product_Name
FROM table2
WHERE Product_Name not in (SELECT Product_Name
FROM table1
);
答案 1 :(得分:0)
看起来它只会在tb_new_product_name_id为空的地方插入。