表A
があります。D_DATE
の列には、YYYYMMDD
という値の列があります(日付形式については気にしません)。私はまた、列名がV_TILL
である別のテーブルBを持っています。今、テーブルBのV_TILL列の値をD_DATE
列の値をテーブルA
に更新して重複も発生させたいと思います。つまり、内側のクエリは、テーブルを更新するクエリを形成する場所から複数のレコードを返すことができます。Oracle SQL別の表の値を持つ1つの表の列を更新します。
:
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
私を助けIS !どんな助けもありがとう。
これは、複数の行 'B T2からTO_DATE(t2.D_DATE、 'YYYYMMDD') を選択t1.BR_CODE = t2.BR_CODE AND t1.BK_CODE = t2.BK_CODE || T2を返します。 BR_CODE'条件を追加する必要があります –