timg Geschrieben 25. Mai 2011 Teilen Geschrieben 25. Mai 2011 Hallo an alle! Habe hier schon oft nützliche Infos gefunden und jetzt dachte ich mir, meldest du dich auch mal an. Ich habe ein Problem mit einer SQL Abfrage. Undzwar habe ich die Tabelle namens 'Aufträge'. Ich würde gerne eine Abfrage erstellen, die mir jedes Datum (Auftr-Datum) nennt, an denen mehr als 1 Auftrag (Auftr-Nr) erstellt wurde. Ich bin so vorgegangen: SELECT [Auftr-Datum], Count ([Auftr-Nr]) as Anzahl where Anzahl > 1 desc; Ich habe bereits mit Anführungszeichen usw um mich geworfen, aber er scheint immer ein Problem mit 'Anzahl' zu haben. Wahrscheinlich ist es eine Kleinigkeit, aber ich fang grad erst mit SQL an, von daher bin ich etwas am verzweifeln Wäre super dankbar, wenn mir jemand helfen könnte!! Gruß aus dem zurzeit sehr sonnigen NRW, Tim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jejerod Geschrieben 25. Mai 2011 Teilen Geschrieben 25. Mai 2011 Ich würde gerne eine Abfrage erstellen, die mir jedes Datum (Auftr-Datum) nennt, an denen mehr als 1 Auftrag (Auftr-Nr) erstellt wurde. Denke mal eine Möglichkeit wäre das SQL GROUP BY Statement. SELECT Auftr-Datum, COUNT(Auft-Datum) AS Auft-Menge FROM Auftrag GROUP BY Auftr-Datum HAVING Auft-Menge > 1; Vielleicht gehts auch anders. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
timg Geschrieben 25. Mai 2011 Autor Teilen Geschrieben 25. Mai 2011 Vielen Dank Jejerod für deine Antwort! Ich habe deinen Vorschlag gerade mal ausprobiert. Habe noch 'Auftr-Datum' usw in eckige Klammern gemacht, weil er das ' - ' sonst als mathematisches Zeichen erkennt. Jedoch öffnet sich jetzt ein Fenster, indem ich für 'Auft-Menge' einen Parameterwert eingeben soll. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jejerod Geschrieben 25. Mai 2011 Teilen Geschrieben 25. Mai 2011 Das Auft-Menge war hier nur Alias und Pseudocode, da deine Bezeichner im OP ähnliche Nomenklatur verwendet haben. Grundsätzlich ist von mathematischen Zeichen in Namen abzuraten. Auft_Menge, Anzahl_der_Auftraege, numOrder etc sollte ebenso klappen, wenn es hinter dem AS und im HAVING Statement gleichermaßen geändert wird. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
timg Geschrieben 25. Mai 2011 Autor Teilen Geschrieben 25. Mai 2011 Danke für den Tipp. Aber leider hab ich immernoch das Problem, dass sich jetzt ein Fenster öffnet, indem ich für 'Auftr_Menge' einen Parameterwert eingeben soll. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 25. Mai 2011 Teilen Geschrieben 25. Mai 2011 Das SQL ist nicht ganz korrekt. Es muss HAVING COUNT([Auft-Menge])>1 heißen. Dim PS: Bindestiche in Spaltennamen? Das kann doch eigentlich nur Access sein oder? Ich würde das tunlichst unterlassen, denn ein - wird im allgemeinen als Minus Operator erkannt und Du benötigst dann die [] drum herum. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jejerod Geschrieben 25. Mai 2011 Teilen Geschrieben 25. Mai 2011 Das SQL ist nicht ganz korrekt. Es muss HAVING COUNT([Auft-Menge])>1 heißen. Dann wäre ja zweimal COUNT drin, da Auft-Menge bereits ein Alias für COUNT(Auft-Datum) ist. SELECT Auftr-Datum, COUNT(Auft-Datum) AS Auft-Menge FROM Auftrag GROUP BY Auftr-Datum HAVING Auft-Menge > 1; Also dann ohne Alias: SELECT datum, COUNT(datum) FROM Auftrag GROUP BY datum HAVING COUNT(datum) > 1; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
timg Geschrieben 26. Mai 2011 Autor Teilen Geschrieben 26. Mai 2011 Super, jetzt funktioniert es!! Vielen vielen Dank an alle 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.