Veröffentlicht 17. September 200421 j 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]
17. September 200421 j Du mischst normale Spaltenabfragen mit der Gruppierfunktion SUM(). Das geht nicht.
17. September 200421 j 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
17. September 200421 j 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.
17. September 200421 j 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
17. September 200421 j Autor 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.