我正在尝试为以下查询找到解决方案:
存在声明的表 @Country
以及 @WHO
(世界卫生组织)。
插入表中所有可能的国家/地区 @Country
进入表格 @WHO
.
表的代码是:
DECLARE @Country TABLE
(
Id INT PRIMARY KEY IDENTITY(1,1),
Name NVARCHAR(100),
Capital NVARCHAR(100)
)
INSERT INTO @Country (Name, Capital)
VALUES ('China', 'Beijing'), ('Japan', 'Tokyo'),
('India', 'New Delhi'), ('South Korea', 'Seoul')
DECLARE @WHO TABLE
(
Id INT PRIMARY KEY IDENTITY(1,1),
Country NVARCHAR(100) UNIQUE
)
INSERT INTO @WHO (Country)
VALUES ('Japan'), ('South Korea')
我启动的代码如下所示:
INSERT INTO @WHO (w.Country)
SELECT DISTINCT c.Name
FROM @Country c
SELECT w.Country
FROM @WHO w
ORDER BY w.Country
最终结果应为包含以下内容的表:
China
India
Japan
South Korea
我知道这可能很简单,但我似乎找不到解决办法。
我的代码遗漏了什么
2条答案
按热度按时间tjjdgumg1#
你可以用
not exists
:另一种(可能是过度杀戮)选择是
MERGE
语法:hk8txs482#
任务的预期查询将是
虽然我喜欢'不存在'的版本更普遍