0
我想下面運行的代碼,我不斷收到此錯誤回:更新表設置列的SQL Server
消息512,級別16,狀態1,行1 子查詢返回多個1 值。當子查詢遵循=,!=,<,< =,>>,> =或當子查詢用作表達式時,這是不允許的。該語句已終止。
我試圖做一個字段來識別個人用戶。有什麼建議麼?
UPDATE dbo.AAASTA_CONTACT
SET dbo.AAASTA_CONTACT.ALIAS_KEY =
(SELECT(SUBSTRING(COALESCE(CAST(ADDR.ADDR_ZIPCODE AS NCHAR(5)), ' ')
+ COALESCE(CAST(UPPER(CON2.CON_LAST_NAME)AS NCHAR(5)), ' ')
+ COALESCE(CAST(UPPER(CON2.CON_FST_NAME)AS NCHAR(5)), ' ')
+ COALESCE(CAST(UPPER(ADDR.ADDR_ADDR_NAME) AS NCHAR(5)), ' '),1,20))
FROM dbo.AAASTA_CONTACT CON2
JOIN dbo.AAASTA_ADDR_PER ADDR
ON (CON2.CON_PERSON_UID = ADDR.T_ADDR_PER_PER_ID))
聽起來像你的內部SELECT語句(它定義了你想設置ALIAS_KEY的值)返回多個值。哪些值應該設置爲ALIAS_KEY? – rodion
我只要求一個子字符串。如果我將它作爲select而不是SET來運行,它會返回一列信息。 – Fear605
問題是查詢分析器已經推斷查詢具有返回多個結果的'潛在'。 – RThomas