bigpoint Geschrieben 21. Oktober 2003 Geschrieben 21. Oktober 2003 Hallo, warum geht es nicht ?? und wie kann man es richtig programmieren Bitte um Hilfe SQL select sum(t+k) as f from tabele where k>f Fehler Server: Nachr.-Nr. 207, Schweregrad 16, Status 3, Zeile 1 Ungültiger Spaltenname 'f'. PS Benutze SQL Server 2000
Jaraz Geschrieben 21. Oktober 2003 Geschrieben 21. Oktober 2003 Moin, select sum(t+k) as f from tabele where k>sum(t+k) ungetestet! Gruß Jaraz
Reinhold Geschrieben 21. Oktober 2003 Geschrieben 21. Oktober 2003 Zitat Original geschrieben von Jaraz select sum(t+k) as f from tabele where k>sum(t+k) bzw. select sum(t+k) as f from tabele where k<0;
bigpoint Geschrieben 21. Oktober 2003 Autor Geschrieben 21. Oktober 2003 Zitat Original geschrieben von Jaraz Moin, select sum(t+k) as f from tabele where k>sum(t+k) ungetestet! Gruß Jaraz leider Fehler Server: Nachr.-Nr. 147, Schweregrad 15, Status 1, Zeile 2 Ein Aggregat darf nicht in der WHERE-Klausel auftreten - es sei denn, es befindet sich in einer Unterabfrage, die in einer HAVING-Klausel oder einer Auswahlliste enthalten ist, und die Spalte, die aggregiert wird, ist ein Außenverweis.
mme Geschrieben 22. Oktober 2003 Geschrieben 22. Oktober 2003 Du solltest mal versuchen die Bedingung in eine having-klausel zu setzen, da wie deine Fehlermeldung oben schon sagt Funktionen dieser Art in eine where-Bedingung nicht benutzt werden dürfen...... select sum(t+k) as f from tabele having k>sum(t+k)
Goos Geschrieben 24. Oktober 2003 Geschrieben 24. Oktober 2003 Zitat Original geschrieben von Reinhold bzw. select sum(t+k) as f from tabele where k<0; Also wenn k groesser als die Summe t+k sein soll, dann sollte besser t<0 sein. Ich wuerde also select sum(t+k) as f from tabele where t<0 vorschlagen was aber irgendwie auch albern ist Wenn man doch die Aggregatfunktion sum benutzt, dann ists irgendwie unsinnig noch ein where einzusetzen. @007ski: Koenntest vielleicht nochmal erzaehlen, was du ueberhaupt machen wolltest? Goos
milkcat Geschrieben 1. November 2003 Geschrieben 1. November 2003 Also, so ganz kapiert hab ich auch nicht, was der 007ski haben möchte? Mußte uns vielleicht noch etwas genauer erklären, um was es eigentlich geht, aber ich hab die Sache mal in zwei Abfragen erstellt: Abfrage1: SELECT Sum([Tabelle].[t]+[Tabelle].[k]) AS F FROM Tabelle GROUP BY Tabelle.t, Tabelle.k; Abfrage2: SELECT Abfrage1.F, Tabelle.k FROM Abfrage1, Tabelle WHERE (((Tabelle.k)>[Abfrage1].[F])); Anders, kann man das leider nicht lösen oder bzw. wüßte jetzt keinen anderen Lösungsweg. Ich hoffe, ich habe deine Frage verstanden und konnte Dir helfen.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden