kills Geschrieben 18. Mai 2004 Teilen Geschrieben 18. Mai 2004 Hallo zusammen, ich habe folgenden rießen SQL und folgende Fehlermeldung: Fehlermeldung: Unzulässiges einklammern des Namens 'select '1' as Sortierung, Firma ...' SELECT Firma, Zielrufnummer, Datum, Uhrzeit, Nebenstelle, Standardpreis, Bonuspreis FROM [select '1' as Sortierung, Firma,Nebenstelle, Datum, Uhrzeit, Standardpreis, Bonuspreis, Zielrufnummer from ( select ( select round(sum(evn.[Dauer/Sek])/60) from evn) AS Gesamtzeit, 'Geopost' as Firma, evn.Nebenstelle, evn.Datum, evn.Uhrzeit, evn.[Dauer/Sek] as Dauer, iif(Gesamtzeit < 1755000,round(((evn.[Dauer/Sek] / 60)* tarif.Malus), 4),0) as Maluspreis, iif(Gesamtzeit <= 2145000 AND Gesamtzeit > 1755000,round(((evn.[Dauer/Sek] / 60)* tarif.Standard), 4),0) as Standardpreis, iif (Gesamtzeit > 2145000, round(((evn.[Dauer/Sek] / 60)* tarif.Bonus), 4), 0) as Bonuspreis, evn.Zielrufnummer FROM evn,tarif,vpn where evn.artikelnr = tarif.artikelnr and vpn.tel2 = '4925' and evn.fkto = vpn.fkto and instr(';7258;7274;7253;7266;7249;7251;7252;'+ '7001;7009;7011;7091;7071;7081;7031;7041;7043;7051;7068;7021;7066;7022;7016;7065;7061;7005;7013;7011;',';' +evn.Nebenstelle+ ';') ) as Unterselect1 union select '1.1' as Sortierung, '' As Firma, '' As Nebenstelle, '' As Datum, '' As Uhrzeit, '' As Maluspreis, '' As Standardpreis, '' As Bonuspreis, '' As Zielrufnummer from ( select min(1) from evn where 1 = 2) as tempselect union select '1.2' as Sortierung, FirmaGesamt, '' As Nebenstelle, '' As Datum, '' As Uhrzeit, Malusgesamtpreis, Standardgesamtpreis, Bonusgesamtpreis, '' As Zielrufnummer from ( SELECT '', 'Geopost-Gesamt' as FirmaGesamt , '', '', ( select round(sum(evn.[Dauer/Sek])/60) from evn) AS Gesamtzeit, iif( Firma = 'Delicom', 497, 0) as Grundgebuehr, iif(Gesamtzeit < 1755000,round(((sum(Dauer*maluspreis)/60) +Grundgebuehr),2),0) AS Malusgesamtpreis, iif(Gesamtzeit <= 2145000 AND Gesamtzeit > 1755000,round(((sum(Dauer*standardpreis)/60) +Grundgebuehr),2),0) AS Standardgesamtpreis, iif (Gesamtzeit > 2145000, round(((sum(Dauer*bonuspreis)/60) + Grundgebuehr),2),0) AS Bonusgesamtpreis, '' FROM ( select 'Geopost' as Firma, evn.[Dauer/Sek] as Dauer, tarif.Malus as maluspreis, tarif.Standard as standardpreis, tarif.Bonus as bonuspreis FROM evn,tarif,vpn where evn.artikelnr = tarif.artikelnr and vpn.tel2 = '4925' and evn.fkto = vpn.fkto and instr(';7258;7274;7253;7266;7249;7251;7252;'+ '7001;7009;7011;7091;7071;7081;7031;7041;7043;7051;7068;7021;7066;7022;7016;7065;7061;7005;7013;7011;',';' +evn.Nebenstelle+ ';')) AS Unterselect GROUP BY firma) as Unterselect2 union select '1.3' as Sortierung, '' As Firma, '' As Nebenstelle, '' As Datum, '' As Uhrzeit, '' As Maluspreis, '' As Standardpreis, '' As Bonuspreis, '' As Zielrufnummer from ( select min(1) from evn where 1 = 2) as tempselect union select '1.3.1' as Sortierung, '' As Firma, '' As Nebenstelle, '' As Datum, '' As Uhrzeit, '' As Maluspreis, '' As Standardpreis, '' As Bonuspreis, '' As Zielrufnummer from ( select min(1) from evn where 1 = 2) as tempselect union select '2' as Sortierung, Firma,Nebenstelle, Datum, Uhrzeit, Maluspreis, Standardpreis, Bonuspreis, Zielrufnummer from ( select ( select round(sum(evn.[Dauer/Sek])/60) from evn) AS Gesamtzeit, 'GmbH' as Firma, evn.Nebenstelle, evn.Datum, evn.Uhrzeit, evn.[Dauer/Sek] as Dauer, iif(Gesamtzeit < 1755000,round(((evn.[Dauer/Sek] / 60)* tarif.Malus), 4),0) as Maluspreis, iif(Gesamtzeit <= 2145000 AND Gesamtzeit > 1755000,round(((evn.[Dauer/Sek] / 60)* tarif.Standard), 4),0) as Standardpreis, iif (Gesamtzeit > 2145000, round(((evn.[Dauer/Sek] / 60)* tarif.Bonus), 4), 0) as Bonuspreis, evn.Zielrufnummer FROM evn,tarif,vpn where evn.artikelnr = tarif.artikelnr and vpn.tel2 = '4925' and evn.fkto = vpn.fkto and instr(';6015;6017;6018;6021;6012;6014;6007;6011;6054;6019;6020;',';' +evn.Nebenstelle+ ';') ) as Unterselect1 union select '2.1' as Sortierung, '' As Firma, '' As Nebenstelle, '' As Datum, '' As Uhrzeit, '' As Maluspreis,, '' As Standardpreis, '' As Bonuspreis, '' As Zielrufnummer from ( select min(1) from evn where 1 = 2) as tempselect union select '2.2' as Sortierung, FirmaGesamt, '' As Nebenstelle, '' As Datum, '' As Uhrzeit, Malusgesamtpreis, Standardgesamtpreis, Bonusgesamtpreis, '' As Zielrufnummer from ( SELECT '', 'GmbH-Gesamt' as FirmaGesamt, '', '', ( select round(sum(evn.[Dauer/Sek])/60) from evn) AS Gesamtzeit, iif( Firma = 'Delicom', 497, 0) as Grundgebuehr, iif(Gesamtzeit < 1755000,round(((sum(Dauer*maluspreis)/60) +Grundgebuehr),2),0) AS Malusgesamtpreis, iif(Gesamtzeit <= 2145000 AND Gesamtzeit > 1755000,round(((sum(Dauer*standardpreis)/60) +Grundgebuehr),2),0) AS Standardgesamtpreis, iif (Gesamtzeit > 2145000, round(((sum(Dauer*bonuspreis)/60) + Grundgebuehr),2),0) AS Bonusgesamtpreis, '' FROM ( select 'GmbH' as Firma, evn.[Dauer/Sek] as Dauer, tarif.Malus as maluspreis, tarif.Standard as standardpreis, tarif.Bonus as bonuspreis FROM evn,tarif,vpn where evn.artikelnr = tarif.artikelnr and vpn.tel2 = '4925' and evn.fkto = vpn.fkto and instr(';6015;6017;6018;6021;6012;6014;6007;6011;6054;6019;6020;',';' +evn.Nebenstelle+ ';')) AS Unterselect GROUP BY firma) as Unterselect2 union select '2.3' as Sortierung, '' As Firma, '' As Nebenstelle, '' As Datum, '' As Uhrzeit, '' As Maluspreis, '' As Standardpreis, '' As Bonuspreis, '' As Zielrufnummer from ( select min(1) from evn where 1 = 2) as tempselect union select '2.3.1' as Sortierung, '' As Firma, '' As Nebenstelle, '' As Datum, '' As Uhrzeit, '' As Maluspreis, , '' As Standardpreis, '' As Bonuspreis, '' As Zielrufnummer from ( select min(1) from evn where 1 = 2) as tempselect union select '3' as Sortierung, Firma,Nebenstelle, Datum, Uhrzeit, Maluspreis, Standardpreis, Bonuspreis, Zielrufnummer from ( select ( select round(sum(evn.[Dauer/Sek])/60) from evn) AS Gesamtzeit, 'Delicom' as Firma, evn.Nebenstelle, evn.Datum, evn.Uhrzeit, evn.[Dauer/Sek] as Dauer, iif(Gesamtzeit < 1755000,round(((evn.[Dauer/Sek] / 60)* tarif.Malus), 4),0) as Maluspreis, iif(Gesamtzeit <= 2145000 AND Gesamtzeit > 1755000,round(((evn.[Dauer/Sek] / 60)* tarif.Standard), 4),0) as Standardpreis, iif (Gesamtzeit > 2145000, round(((evn.[Dauer/Sek] / 60)* tarif.Bonus), 4), 0) as Bonuspreis, evn.Zielrufnummer FROM evn,tarif,vpn where evn.artikelnr = tarif.artikelnr and vpn.tel2 = '4925' and evn.fkto = vpn.fkto and not instr(';7258;7274;7253;7266;7249;7251;7252;'+ '7001;7009;7011;7091;7071;7081;7031;7041;7043;7051;7068;7021;7066;7022;7016;7065;7061;7005;7013;7011;6015;6017;6018;6021;6012;6014;6007;6011;6054;6019;6020;',';' +evn.Nebenstelle+ ';') ) as Unterselect1 where firma = 'Delicom' union select '3.1' as Sortierung, '' As Firma, '' As Nebenstelle, '' As Datum, '' As Uhrzeit, '' As Maluspreis, '' As Standardpreis, '' As Bonuspreis, '' As Zielrufnummer from ( select min(1) from evn where 1 = 2) as tempselect union select '3.2' as Sortierung, FirmaGesamt, '' As Nebenstelle, '' As Datum, '' As Uhrzeit, Malusgesamtpreis, Standardgesamtpreis, Bonusgesamtpreis, '' As Zielrufnummer from ( SELECT '', 'Delicom-Gesamt' as FirmaGesamt, '', '', ( select round(sum(evn.[Dauer/Sek])/60) from evn) AS Gesamtzeit, iif( Firma = 'Delicom', 497, 0) as Grundgebuehr, iif(Gesamtzeit < 1755000,round(((sum(Dauer*maluspreis)/60) +Grundgebuehr),2),0) AS Malusgesamtpreis, iif(Gesamtzeit <= 2145000 AND Gesamtzeit > 1755000,round(((sum(Dauer*standardpreis)/60) +Grundgebuehr),2),0) AS Standardgesamtpreis, iif (Gesamtzeit > 2145000, round(((sum(Dauer*bonuspreis)/60) + Grundgebuehr),2),0) AS Bonusgesamtpreis, '' FROM ( select 'Delicom' as Firma, evn.[Dauer/Sek] as Dauer, tarif.Malus as maluspreis, tarif.Standard as standardpreis, tarif.Bonus as bonuspreis FROM evn,tarif,vpn where evn.artikelnr = tarif.artikelnr and vpn.tel2 = '4925' and evn.fkto = vpn.fkto and not instr(';7258;7274;7253;7266;7249;7251;7252;'+ '7001;7009;7011;7091;7071;7081;7031;7041;7043;7051;7068;7021;7066;7022;7016;7065;7061;7005;7013;7011;6015;6017;6018;6021;6012;6014;6007;6011;6054;6019;6020;',';' +evn.Nebenstelle+ ';')) AS Unterselect GROUP BY firma) as Unterselect2 union select '3.3' as Sortierung, '' As Firma, '' As Nebenstelle, '' As Datum, '' As Uhrzeit, '' As Maluspreis, '' As Standardpreis, '' As Bonuspreis, '' As Zielrufnummer from ( select min(1) from evn where 1 = 2) as tempselect union select '3.3.1' as Sortierung, '' As Firma, '' As Nebenstelle, '' As Datum, '' As Uhrzeit, '' As Maluspreis, '' As Standardpreis, '' As Bonuspreis, '' As Zielrufnummer from ( select min(1) from evn where 1 = 2) as tempselect ]. AS Hauptselect; Kann mir jmd helfen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 18. Mai 2004 Teilen Geschrieben 18. Mai 2004 Du musst dir schon erstmal selbst Muehe geben und zumindest die Unions aufloesen. Dann ist das Ganze nicht mehr so gross und du findest den Fehler auch selbst ganz leich (vermute ich). Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 18. Mai 2004 Autor Teilen Geschrieben 18. Mai 2004 Du musst dir schon erstmal selbst Muehe geben und zumindest die Unions aufloesen. Dann ist das Ganze nicht mehr so gross und du findest den Fehler auch selbst ganz leich (vermute ich). Goos wie kann ich ein union auflösen? kannst du mir das an nem kleinen beispiel erläutern? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 18. Mai 2004 Teilen Geschrieben 18. Mai 2004 Na du hast zwischen den ganzen Unions lauter einzelne Selects, die ansich auch alle einzeln funktionieren sollten. Also kannst der Reihe nach immer ein Select Statement rauskopieren und testen. So hast die Moeglichkeit, einen Fehler in einem davon zu entdecken. Goos 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.