Ich habe diese beiden Tabellen unten, ich muss Table1.Active_flag
zu Y
, wo Table2.Reprocess_Flag
ist N
zu aktualisieren.Update in Oracle mit Verbindung zweier Tabelle
Table1
+--------+--------------+--------------+--------------+-------------+
| Source | Subject_area | Source_table | Target_table | Active_flag |
+--------+--------------+--------------+--------------+-------------+
| a | CUSTOMER | ADS_SALES | ADS_SALES | N |
| b | CUSTOMER | ADS_PROD | ADS_PROD | N |
| CDW | SALES | CD_SALES | CD_SALES | N |
| c | PRODUCT | PD_PRODUCT | PD_PRODUCT | N |
| d | PRODUCT | PD_PD1 | PD_PD1 | N |
| e | ad | IR_PLNK | IR_PLNK | N |
+--------+--------------+--------------+--------------+-------------+
Table2
| Source | Subject_area | Source_table | Target_table | Reprocess_Flag |
+--------+--------------+--------------+--------------+----------------+
| a | CUSTOMER | ADS_SALES | ADS_SALES | N |
| b | CUSTOMER | ADS_PROD | ADS_PROD | N |
| CDW | SALES | CD_SALES | CD_SALES | N |
| c | PRODUCT | PD_PRODUCT | PD_PRODUCT | Y |
| d | PRODUCT | PD_PD1 | PD_PD1 | Y |
| e | ad | IR_PLNK | IR_PLNK | N |
+--------+--------------+--------------+--------------+----------------+
Ihre Frage ist nicht lesbar. – FDavidov
Haben Sie etwas versucht? Stellen Sie den Code bitte – Aleksej
UPDATE hdfs_cntrl SET active_flag = 'Y' wo Quelle in (select Quelle von proc_cntrl wo Reprocess_Flag = 'N') und subject_area in (wählen subject_area aus proc_cntrl wo Reprocess_Flag = 'N') und SOURCE_TABLE in (select target_table aus proc_cntrl where Reprocess_Flag = 'N'); –