很抱歉,如果这是一个基本问题,但我只是SQL的初学者。我有2张桌子:
ACCT_GUID_REF
有2个字段:该帐号的帐号(ACCTNBR
)和GUID(AcctIDGUID
)。 RESTAURANTS
包含每家餐厅的新详细信息行。 当我添加新行时,我想使用表RESTAURANTS.ACCT_GUID
中的匹配帐户更新ACCT_GUID_REF
列。
我尝试了这个,但由于表RESTAURANT
中有多个餐馆帐户行,因此会返回多行。我该如何修复UPDATE?
UPDATE RESTAURANTS
SET RESTAURANTS.ACCT_GUID =
(SELECT AcctIDGUID
FROM ACCT_GUID_REF
WHERE ACCT_GUID_REF.ACCTNBR = RESTAURANTS.ACCTNBR)
答案 0 :(得分:1)
听起来你可能想在UPDATE语句的源代码中进行INNER JOIN。
UPDATE RESTAURANTS
SET ACCT_GUID = A.AcctIDGuid
FROM ACCT_GUID_REF A
INNER JOIN RESTAURANTS R
ON A.ACCTNBR = R.ACCTNBR