我最近向其中一個表中添加了新列,需要包含來自另一列+ 365天的日期。單獨更新每條記錄是不可行的,我嘗試過的所有內容都不起作用。主要收到此錯誤:SQL使用存在的列數據更新新列上的所有行
子查詢返回的值超過1。當子查詢遵循=,!=,<,< =,>,> =或當子查詢用作表達式時,這是不允許的。
我最近嘗試在下面編寫腳本。
UPDATE A SET A.enddate_dt = DATEADD(day,365,B.appdate_dt)
FROM cd.mhc_appdiscfee A
INNER JOIN cd.mhc_appdiscfee B ON B.uniqueid_c = A.uniqueid_c
爲什麼不直接刪除列和計算SELECT查詢上即時的價值?或者使用觸發器 –
JOIN的目的是什麼? – CodyMR
在這個表上運行的查詢不是由我創建的,而是由創建我們軟件的第三方創建的(是的,我知道是正確的)。事實上,我已經創建了一個觸發器,用於添加到表中時自動創建的所有新值,但這會使我更改所有現有數據。至於JOIN,我從堆棧交換中的另一個腳本複製了它,我相信這是爲了讓子查詢找到唯一的結果並匹配它,因爲表是它自己的數據源。 – Romex