Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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 :rolleyes:

Wäre super dankbar, wenn mir jemand helfen könnte!!

Gruß aus dem zurzeit sehr sonnigen NRW,

Tim

Geschrieben

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.

Geschrieben

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.

Geschrieben

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.

Geschrieben

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.

Geschrieben

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.

Geschrieben
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;

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...