lutzs Geschrieben 2. September 2002 Geschrieben 2. September 2002 Hallo, hier meine SQL Anweisung, die einfach nicht funktionieren will: Die erste DECODE- Bedingung wird problemlos ausgeführt, bei der zweiten Anweisung bleibt das zu füllende Feld = 0 oder leer. Was mache ich falsch? SELECT DECODE(d.ccy_n_euritg,'1', (SELECT a.sea_m_bkgpos * d.ccy_n_eurcvrrat FROM g_ccy d WHERE d.ccy_n_int = i_sec.ccy_n_int), '0', (SELECT a.sea_m_bkgnom * d.ccy_n_eurcvrrat) FROM g_ccyexr c, i_sec, a WHERE c.ccy_n_int = i_sec.ccy_n_int AND c.ccy_d_dat = (SELECT MAX(c.ccy_d_dat) datum FROM g_ccy c, I_SEC b WHERE c.ccy_n_int = b.ccy_n_int GROUP BY c.ccy_n_int))) EURO FROM [...] WHERE [...] ... Danke, Stephanie Zitieren
Gnomeline Geschrieben 2. September 2002 Geschrieben 2. September 2002 Hallo Du, ich denke, das Problem ist schlichtweg eine Klammer zu viel, unten rot gekennzeichnet: SELECT DECODE(d.ccy_n_euritg,'1', (SELECT a.sea_m_bkgpos * d.ccy_n_eurcvrrat FROM g_ccy d WHERE d.ccy_n_int = i_sec.ccy_n_int ), '0', (SELECT a.sea_m_bkgnom * d.ccy_n_eurcvrrat) FROM g_ccyexr c, i_sec, a WHERE c.ccy_n_int = i_sec.ccy_n_int AND c.ccy_d_dat = (SELECT MAX(c.ccy_d_dat) datum FROM g_ccy c, I_SEC b WHERE c.ccy_n_int = b.ccy_n_int GROUP BY c.ccy_n_int ) ) ) EURO Ansonsten kann ich nix erkennen. Gruss, Gnomeline Zitieren
lutzs Geschrieben 2. September 2002 Autor Geschrieben 2. September 2002 Hallo, mir ist aufgefallen, dass ich den DEFAULT Wert vergessen habe. Diesen Wert habe ich hier auf "11" gesetzt. Führe ich nun die SQL- Anweisung aus, wird jedes Feld, welches normalerweise = 0 ist und mit dem Ergebnis der SELECT- Anweisung gefüllt werden soll, mit "11" geladen. Ich sehe aber nicht, woran es liegen soll. Weiss jemand von Euch Rat? SELECT DECODE (g_ccy.ccy_n_euritg, '0', (SELECT (i_sea.sea_m_bkgpos * g_ccyexr.ccy_n_spt) FROM g_ccyexr, i_sea, i_sec, g_ccy WHERE g_ccyexr.ccy_n_int = i_sec.ccy_n_int AND g_ccyexr.ccy_d_dat = (SELECT datum from test WHERE g_ccyexr.ccy_n_int = test.ccy_n_int) AND g_ccyexr.ccy_n_int = i_sea.ccy_n_int AND i_sec.sec_n_int = i_sea.cus_n_int), '11' ) EURO FROM I_SEA, I_SEC, I_CUS, G_CCY, G_CCYEXR WHERE [...] Danke, Stephanie Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.