用于从所述表的关系属性更新表属性的 SQL 查询



我正在尝试从表 SERVICE_INFO 中的类似列更新表中的ACCOUNT_GROUPBILL_INFO_DETAIL该列具有要BILL_INFO_DETAIL的外键。每个BILL_INFO_DETAIL可以有一个SERVICE_INFO

我尝试了这段代码,但它没有选择正确的SERVICE_INFO,因为 WHERE 子句没有按我的预期工作:

UPDATE BILL_INFO_DETAIL
SET ACCOUNT_CODE = (SELECT TOP (1) si.ACCOUNT_CODE
                    FROM SERVICE_INFO si
                    WHERE si.SERVICE_CODE = SERVICE_CODE);

BILL_INFO_DETAIL ACCOUNT_CODE中的所有项目都设置为SERVICE_INFO的第一ACCOUNT_CODE

似乎这不是那么简单。请指教。

好的。进一步挖掘后,我从以下答案中发现了如何在更新查询中具有内部联接:https://stackoverflow.com/a/1293347/481656

我同样修改了我的查询:

UPDATE b
SET b.ACCOUNT_CODE = s.ACCOUNT_CODE
FROM BILL_INFO_DETAIL b
INNER JOIN SERVICE_INFO s ON b.SERVICE_CODE = s.SERVICE_CODE

效果很好。

橡皮鸭。

最新更新