Update

SQL - 如果一個條目有問題,則更新具有多個條目的唯一 ID 表

  • November 22, 2014

如果唯一 ID 的一行顯示該變數,我正在嘗試更新表以將變數填充到表中的每一行。

我試圖做以下事情,但它給了我一個錯誤。感謝幫助!

update patient_encounter 
Set user_defined4 = 'DTC'
where person_id = (SELECT person_id from patient_encounter where  mrkt_plan_id = '489681B4-9D94-413B-95A0-C50D5964F340')

我想將“DTC”填寫到任何 person_id 的 user_defined4 欄位中,該欄位顯示為他們的任何條目列出的特定 mrkt_plan_id(與 DTC 相關)。每個 person_id 都有多次遭遇,一旦被列為 DTC,我希望他們都共享相同的市場計劃。

錯誤說子查詢返回超過 1 個值。謝謝!

person_id表中有多個條目patient_encounter,因此您需要獲取 person_idtop 1

嘗試這個

update patient_encounter 
Set user_defined4 = 'DTC'
where person_id = (SELECT top 1 person_id from patient_encounter 
                    where  mrkt_plan_id = '489681B4-9D94-413B-95A0-C50D5964F340')

根據評論進行編輯,如果您要更新所有記錄,請使用 IN 如下

update patient_encounter 
   Set user_defined4 = 'DTC'
   where person_id IN (SELECT person_id from patient_encounter 
                        where  mrkt_plan_id = '489681B4-9D94-413B-95A0-C50D5964F340')

引用自:https://dba.stackexchange.com/questions/83339