bigpoint Geschrieben 17. September 2004 Teilen Geschrieben 17. September 2004 Eine Frage, warum geht es nicht und wie kann ich es lösen SQL Server 2000 Select spalte, spalte1, spalte2,sum(spalte3) as sumsp From bla bla Where (spalte6 – sumsp) > spalte12 group by spalte, spalte1, spalte2 [/PHP] Fehler: [b] Server: Nachr.-Nr. 207, Schweregrad 16, Status 3 Ungültiger Spaltenname 'sumsp'. [/b] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kLeiner_HobBes Geschrieben 17. September 2004 Teilen Geschrieben 17. September 2004 Du mischst normale Spaltenabfragen mit der Gruppierfunktion SUM(). Das geht nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 17. September 2004 Teilen Geschrieben 17. September 2004 Du mischst normale Spaltenabfragen mit der Gruppierfunktion SUM(). Das geht nicht. Wieso nicht? Man kann doch gerne die Aggregatfunktion SUM() verwenden, wenn man dafuer dann den Rest gruppiert. Ich bin allerdings der Meinung, dass man mit dem Alisa einer durch eine Aggregatfunktion erzeugten Spalte nicht rechnen kann. Es muesste also dann eher ein (spalte6 – sum(spalte3) > spalte12 sein. Ausserdem sollte man mal schwer ueber das WHERE nachdenken, wenn man doch ein GROUP BY verwendet ;) Ausserdem erscheint es mir logisch, dass man nicht mit Spalte6 und Spalte12 rechnen kann, insofern die nicht mitgruppiert werden. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kLeiner_HobBes Geschrieben 17. September 2004 Teilen Geschrieben 17. September 2004 Stimmt, hab ich vergessen. Wahrscheinlich kann man den Alias in der Berechnung nicht verwenden, aber die WHERE-Klausel wird ja noch vor der Gruppierung ausgeführt, insofern sehe ich sie nicht als problematisch. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 17. September 2004 Teilen Geschrieben 17. September 2004 Stimmt, hab ich vergessen. Wahrscheinlich kann man den Alias in der Berechnung nicht verwenden, aber die WHERE-Klausel wird ja noch vor der Gruppierung ausgeführt, insofern sehe ich sie nicht als problematisch. Seh ich jetzt anders, da in der WHERE Bedingung die aggregierte Spalte (sumsp) auftaucht, Die gehoert meiner Meinung nach (kann mich natuerlich auch irren ) in ein HAVING nach der Gruppierung. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigpoint Geschrieben 17. September 2004 Autor Teilen Geschrieben 17. September 2004 Seh ich jetzt anders, da in der WHERE Bedingung die aggregierte Spalte (sumsp) auftaucht, Die gehoert meiner Meinung nach (kann mich natuerlich auch irren ) in ein HAVING nach der Gruppierung. Goos ja es stimmt, das ist die Lösung Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kLeiner_HobBes Geschrieben 17. September 2004 Teilen Geschrieben 17. September 2004 OK. Ich steh schon in der Ecke und schäme mich 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.