Werte mit Prozentangaben multipliziert Ich habe zwei Tabellen wie folgt strukturiert:Aktualisierungswerte in einer meiner Tabelle auf Bedingungen
Tabelle 1:
CREATE TABLE "SYSTEM"."ZILM_SM30_BT_ALL"
("BT" VARCHAR2(6 BYTE) NOT NULL ENABLE,
"CHANNEL" VARCHAR2(12 BYTE),
"PARENT" VARCHAR2(12 BYTE),
"VD" VARCHAR2(15 BYTE),
"CURRENCY" VARCHAR2(3 BYTE),
"AMT" NUMBER(18,2),
"FXSWAP" NUMBER(18,2),
"STR_REPO" NUMBER(18,2),
"REPORTING_DAY" DATE);
Tabelle 2:
CREATE TABLE "SYSTEM"."ZILM_SM30_BT_RF"
("BT" VARCHAR2(6 BYTE) NOT NULL ENABLE,
"RF" NUMBER(5,4) NOT NULL ENABLE,
"RATIONALE" VARCHAR2(80 CHAR));
Ich muss Spalte STR_REPO
in Tabelle 1 mit dem Ergebnis des entsprechenden Werts in AMT in Tabelle 1 multipliziert mit dem Wert in RF in Tabelle 2 aktualisieren. Der RF-Wert in Tabelle 2, der als Faktor verwendet wird, ist der von der Eintrag mit dem gleichen BT-Wert wie in Tabelle 1 (Beispiel: für die Zeile 1 in Tabelle 1: STR_REPO
= 162.500.000 * 0,3333 -> (lookup Wertes in RF Spalt von Tabelle 2 für die Eingabe mit BT="REP"
)
Was ich habe derzeit ist:
UPDATE ZILM_SM30_BT_ALL
SET STR_REPO = (SELECT a.AMT * b.RF
FROM ZILM_SM30_BT_ALL a INNER JOIN ZILM_SM30_BT_RF b
ON a.BT = b.BT)
Die Fehlermeldung ich erhalte, ist:
UPDATE ZILM_SM30_BT_ALL
SET STR_REPO = (SELECT a.AMT * b.RF
FROM ZILM_SM30_BT_ALL a INNER JOIN ZILM_SM30_BT_RF b
ON a.BT = b.BT)
Error report: SQL Error: ORA-01427: single-row subquery returns more than one row 01427. 00000 - "single-row subquery returns more than one row"
Danke. Deine Hilfe ist sehr Willkommen! – ehammer