我需要更新我的SQL表LDH_Provider_Crosswalk中的列'ProvTypeDesc‘。我已经创建了该列,并暂时将所有值设置为null。
这需要从表LevelofCareCrosswalk上的列ProvType_Desc填充。思考过程是从LDH_Provider_Crosswalk t1使用ProvType_Desc从LevelofCareCrosswalk t2更新ProvTypeDesc,其中t1.provtype = t2.provtype。(两个表都有provtype列,其中包含与prov类型描述相关联的相应值。
在这种情况下,我不确定应该使用"insert into“还是"update”语句。也许还有其他我应该使用的语句?不管怎样,下面是我的代码,但它不能工作。它只是将数据从t2追加到t1的底部。
我尝试执行insert into语句:
INSERT INTO [LDH_Provider_Crosswalk] ([ProvTypeDesc])
SELECT t1.ProvType_Desc
FROM [LevelofCareCrosswalk] t1
JOIN [LevelofCareCrosswalk] t2
ON t1.ProvType = t2.ProvType我尝试使用update语句:
UPDATE [LDH_Provider_Crosswalk]
SET t1.[ProvTypeDesc] = t2.ProvType_Desc
FROM [LDH_Provider_Crosswalk] t1
JOIN [LevelofCareCrosswalk] t2
ON t1.ProvType = t2.ProvType表中的示例数据:
LDH_Provider_Crosswalk t1 (此表需要这些值)
ProvType | ProvTypeDesc
11 |空
43 |空
37 |空
表中的示例数据:
LevelofCareCrosswalk t2 (此表包含值)
ProvType | ProvTypeDesc
11 |危机接收中心
43 |治疗性寄养护理
37 |基于中心的喘息
多做了一点研究。看起来update语句是可行的。
发布于 2017-11-01 01:56:57
这样啊,原来是这么回事。我只需要从set语句中删除别名。
UPDATE [LDH_Provider_Crosswalk]
SET [ProvTypeDesc] = t2.ProvType_Desc
FROM [LDH_Provider_Crosswalk] t1
JOIN [LevelofCareCrosswalk] t2
ON t1.ProvType = t2.ProvTypehttps://stackoverflow.com/questions/47041195
复制相似问题