TABLE_A:PL/SQL:で複数の一致を持つUPDATEクエリWHERE句
TABLE_BID TYPE DATE_UPLOADED EXPIRED
9872 APPLE 03-JAN-11 0
9874 MANGO 03-JAN-11 0
9873 GRAPE 03-JAN-11 0
:私はここに達成したい何
TYPE LIFE
APPLE 3
MANGO 2
GRAPE 1
がTABLE_A
のEXPIRED
フィールドを更新することです現在の日付の時点でそのタイプがLIFE
を超えている場合は、1
の値になります(DATE_UPLOADED
)。
この更新クエリは、現在私が悩んでいる場所です。私はその
が間違っていることを知っています、それはあなたの助けが必要なところです。
更新クエリ:
UPDATE TABLE_A
SET EXPIRED = 1
WHERE EXPIRED = 0
AND (TRUNC(SYSDATE) - TRUNC(DATE_UPLOADED)) >
(
SELECT LIFE
FROM TABLE_B
);
はTYPE
フィールドは何もすることができ、サンプルデータで与えられているものよりも
以上であってもよいことに注意してください。
可能な重複:http://stackoverflow.com/questions/2446764/oracle-update-statement-with-inner-join参照用 –
おかげで、このような何かを試してみてください。別の問題だが、「同じソリューションを使用する」可能性がある。 – cr8ivecodesmith