我有一個表A
,其中有一列D_DATE
,其值爲YYYYMMDD
(我不打擾日期格式)。我也碰巧有另一個表B,其中有一個列名稱V_TILL
。現在,我想更新表B的V_TILL列值,其值爲表A
中的D_DATE
列,該列恰好也有重複值。意思是,內部查詢可以從我形成查詢的位置返回多個記錄來更新表。Oracle SQL使用另一個表的值更新一個表列
我現在有這個疑問寫,但它引發錯誤:
ORA-01427: single-row subquery returns more than one row
UPDATE TAB_A t1
SET (V_TILL) = (SELECT TO_DATE(t2.D_DATE,'YYYYMMDD')
FROM B t2
WHERE t1.BR_CODE = t2.BR_CODE
AND t1.BK_CODE = t2.BK_CODE||t2.BR_CODE)
WHERE EXISTS (
SELECT 1
FROM TAB_B t2
WHERE t1.BR_CODE = t2.BR_CODE
AND t1.BK_CODE = t2.BK_CODE||t2.BR_CODE)
PS:BK_CODE
是BK_CODE
以及級聯BR_CODE
請幫助我,我陷在這個泥潭!任何幫助,將不勝感激。
此返回多於一行'SELECT TO_DATE(t2.D_DATE, 'YYYYMMDD') FROM乙T2 WHERE t1.BR_CODE = t2.BR_CODE AND t1.BK_CODE = t2.BK_CODE || T2。 BR_CODE'你應該添加一些條件 –