Ich versuche, die Menge der Arbeiter in einem Projekt in SQL zu erhalten, aber die Gruppe nach einem Teil der Abfrage hat einen Fehler. Ich habe eine separate Tabelle (workersonprojects), die den Projekt-IDs mit den Arbeitern entspricht, die daran arbeiten. Die Abfrage sollte alles + die Anzahl der Arbeiter in einem Projekt auswählen.Warum erhalte ich den Fehler "Kein GROUP BY-Ausdruck"?
SELECT projectid, name, developerleader, consultantleader, projectleader, budget, count(workerid) AS workers
FROM projects
JOIN workersonprojects on (projectid=project)
JOIN workers on (worker=workerid)
GROUP BY projectid;
Da Sie nur Spalten in auswählen können, die in der Gruppe nach Anweisung oder in einer Aggregationsfunktion – Jens
projectID von was? Sie müssen GROUP BY sagen. projects.projectid – hurricane
Die allgemeine GROUP BY-Regel besagt: Wenn eine GROUP BY-Klausel angegeben ist, muss jede Spaltenreferenz in der SELECT-Liste entweder eine Gruppierungsspalte identifizieren oder das Argument einer set-Funktion sein! – jarlh