Veröffentlicht 2. September 200223 j 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
2. September 200223 j 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
2. September 200223 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.