Zum Inhalt springen

Problem mit SQL Abfrage


timg

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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;

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...