Warum funktioniert die SQL-Abfrage nicht?

3 Antworten

GROUP BY verwendet man in der Regel mit einer Aggregatsfunktion.

Versuche Mal die Angabe ob es ein Left oder ein Right Join ist.

Woher ich das weiß:Studium / Ausbildung

Gutofruto 
Beitragsersteller
 06.01.2024, 11:51

Was ist denn left oder right join?

Genervter0815  06.01.2024, 11:52
@Gutofruto

Das bezieht sich darauf ob die Anfrage der Daten im Join links vom Join wichtig ist oder rechts.

Gutofruto 
Beitragsersteller
 06.01.2024, 11:55
@Genervter0815

Wie soll das denn gehen? Da ist doch nur rechts vom joib was, außer man macht keine Zeilenumbrüche

Gutofruto 
Beitragsersteller
 06.01.2024, 11:57
@Genervter0815

So?

SELECT Bestellungen.Bestellnummer, Kunden.Name, Bestellungen.Bestelldatum

FROM Bestellungen

JOIN RIGHT Kunden ON Bestellungen.KundenID = Kunden.KundenID

WHERE Bestellungen.Bestelldatum BETWEEN '2023-01-01' AND '2023-12-31'

ORDER BY Bestellungen.Bestelldatum DESC

LIMIT 10

GROUP BY Kunden.Name;

Genervter0815  06.01.2024, 11:58
@Gutofruto

Erst Right dann Join. Die Frage ist aber an welcher Stelle dir die Datenbank sagt, hier ist ein Fehler, bei der Abfrage.

triopasi  06.01.2024, 12:04
@Genervter0815

Der liebe Fragesteller soll sich mal darum bemühen etwas selbst nachzudenken und den eigenen Code anzusehen. Ich denke der es ist offensichtlich, wieso der Code nicht zur Fragestellung passt.

Die Reihenfolge ist soweit ich weiss nicht egal, sortiere das mal:

SELECT .. FROM .. JOIN .. WHERE .. GROUP BY .. ORDER BY .. LIMIT...