1

我在发布此问题之前尝试搜索,但找不到另一个示例。

我痛苦地意识到 SQL 目前是我的致命弱点并且正在努力,所以请多多包涵!

我的悲惨故事涉及 3 张桌子:

tableA:有我想更新的列(estId)

tableB:包含建立详细信息,包括名称(estName)

tableC:包含要导入的机构数据,包括机构名称(estName)和关联的机构ID(estCode)

在伪语言中,我希望实现的是:

Update tableA
Set estId = tableC.estCode
Where tableC.estName = tableB.estName

我试过这个:

UPDATE tableA
SET estId = tableC.estCode
FROM
    tableC
    JOIN tableB
    ON tableC.estName = tableB.estName

那失败了。或者更确切地说,它更新了 estId 列,但每一行都包含 tableC 中的第一个值。

我可能遗漏了一些明显的东西......

任何人都可以帮忙吗?

4

1 回答 1

0

UPDATE t_alias SET t_alias.estId = tableC.estCode FROM tableA as t_alias JOIN tableB on tableB.estID = tableA.estID JOIN tableC ON tableC.estName = tableB.estName

于 2012-06-04T12:04:45.517 回答