0
こんにちは私はこのテーブルを持っています。私はこのテーブルを変換する必要があるユニークなテーブルを更新するSQL
ADDR | STATE | ID
CRA.20 15 | REP | (null)
CRA.20 15 | REP | (null)
CRA.20 15 | REP | (null)
CRA.20 15 | PRI | RR_88_JK
..
ADDR | STATE | ID
CRA.20 15 | REP | RR_88_JK
CRA.20 15 | REP | RR_88_JK
CRA.20 15 | REP | RR_88_JK
CRA.20 15 | PRI | RR_88_JK
私はこのQRYを持っていますが、機能しません。あなたは一つのアイデアを持っていますか?
UPDATE TABLE_A A
SET a.ID = b.ID
WHERE EXISTS
(SELECT b.ID
FROM TABLE_A B
WHERE a.ADDR = B.ADDR AND b.STATE = 'PRI')
and A.STATE = 'REP';
ありがとうございます。
UPDATE TABLE_A A
SET a.ID = (SELECT b.ID
FROM TABLE_A B
WHERE a.ADDR = B.ADDR AND b.STATE = 'PRI' AND rownum = 1
)
WHERE EXISTS (SELECT b.ID
FROM TABLE_A B
WHERE a.ADDR = B.ADDR AND b.STATE = 'PRI'
) AND
A.STATE = 'REP';
B
しかない外側のクエリでは、サブクエリで知られている:
こんにちは私はこのqryを使用しますが、機能はありません。 ORA-01427:単一行サブクエリは複数の行を戻します。私はこのqryを理解していますが、このエラーを満たしていません。 @サントアゴエスピーシア。 –
。 。明らかに、複数の 'pri '行を持つ' addr'値があります。 'とrownum = 1'は任意にそれらの1つを選択します。 –