lutzs Geschrieben 2. September 2002 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gnomeline Geschrieben 2. September 2002 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lutzs Geschrieben 2. September 2002 Autor Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.