我知道这看起来像是重复的,但我一直在处理看起来相似的问题,但我仍然无法克服这个错误。
我不明白为什么这个 SQL UPDATE 查询返回“子查询返回超过 1 个值”错误。
UPDATE ph
SET ph.manufacturerPartNumber = t.DocID
FROM #tmp t
INNER JOIN PartHeader ph ON ph.partID = t.partID
涉及的数据如下。
SELECT t.partID,t.DocID,ph.partID,ph.manufacturerPartNumber
FROM #tmp t
INNER JOIN PartHeader ph ON ph.partID = t.partID
我不明白“超过 1 个值”的来源。来自 t 的每个 partID 在 ph 中恰好有 1 个 partID。
我也尝试了以下相同的错误。
UPDATE PartHeader
SET PartHeader.manufacturerPartNumber = (SELECT t.DocID
FROM #tmp t
INNER JOIN PartHeader ph ON ph.partID = t.partID)
我确定我错过了一些简单的东西,但我肯定错过了它。
谢谢你的帮助,丹