[英]Copy Row From Table A to Table B Where Key Doesn't Exist
I have this query: 我有这个查询:
INSERT INTO Master (Case)
SELECT Case
FROM Extract
WHERE (NOT Exists (SELECT 1
FROM Extract
WHERE Master.Case = Extract.Case))
GROUP BY Case;
I have two tables, Master and Extract, both have Case as their unique key. 我有两个表Master和Extract,它们都以Case为唯一键。
I want to copy all rows from Extract to Master that don't appear in Master, so any row with a Case number that isn't in Master. 我想将所有未提取的行从“提取”复制到“主”中,因此任何具有“案例号”的行都不在“主”中。
Hope that makes sense. 希望有道理。
When I run my query it says Enter Parameter Value for Master.Case 当我运行查询时,它说输入Master.Case的参数值
What am I doing wrong? 我究竟做错了什么?
Try to use column name in bracket [] ie [Case]. 尝试在方括号[]中使用列名,即[Case]。 because its reserved word in sql for CASE WHEN. 因为它在CASE WHEN中在sql中是保留字。
insert into .Master([Case])
select distinct [Case] from Extract where [Case] NOT IN(select [Case] from Master);
OR
insert into Master([Case])
select distinct [Case] from Extract t1 where NOT EXISTS(select [Case] from Master t2 where t1.[Case]=t2.[Case]);
INSERT INTO [Master] ([Case])
SELECT [Case]
FROM [Extract]
WHERE NOT Exists (SELECT 1 FROM [Extract] WHERE [dbo].[Master].[Case] = [dbo].
[Extract].[Case])
GROUP BY [Case]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.