Der Grund dafür, dass eine Spalte in der Auswahlliste nicht gültig ist, liegt darin, dass sie nicht in einer Aggregatfunktion oder GROUP BY-Klausel enthalten ist
<p>Ich habe eine Fehlermeldung erhalten - </p>
<blockquote>
<p>Spalte „Employee.EmpID“ ist in der Auswahlliste nicht gültig, weil sie es ist
Nicht in Aggregatfunktionen oder GROUP BY-Klauseln enthalten. </p>
</blockquote>
<hr />
<pre class="brush:php;toolbar:false;">select loc.LocationID, emp.EmpID
von Mitarbeiter als emp vollständiger Beitritt Standort als loc
auf emp.LocationID = loc.LocationID
Gruppieren nach loc.LocationID</pre>
<p>Diese Situation entspricht der Antwort von Bill Karwin. </p>
<p>Korrektur zu oben, Antwort passend für ExactaBox - </p>
<pre class="brush:php;toolbar:false;">select loc.LocationID, count(emp.EmpID) – nicht count(*), möchte keine Nullen zählen
von Mitarbeiter als emp vollständiger Beitritt Standort als loc
auf emp.LocationID = loc.LocationID
Gruppieren nach loc.LocationID</pre>
<hr />
<p><strong>Ursprüngliche Frage -</strong></p>
<p>Für SQL-Abfragen -</p>
<pre class="brush:php;toolbar:false;">select *
von Mitarbeiter als emp vollständiger Beitritt Standort als loc
auf emp.LocationID = loc.LocationID
gruppieren nach (loc.LocationID)</pre>
<p>Ich verstehe nicht, warum dieser Fehler auftritt. Ich möchte mich nur an die Tische setzen und dann alle Mitarbeiter an einem bestimmten Standort zusammenfassen. </p>
<p><strong>Ich glaube, ich habe mein Problem teilweise erklärt. Sagen Sie mir, ob Sie können -</strong>
<p>Um alle am selben Standort arbeitenden Mitarbeiter zu gruppieren, müssen wir zunächst die LocationID angeben. </p>
<p>Dann können/dürfen wir nicht jede Mitarbeiter-ID daneben erwähnen. Stattdessen geben wir die Gesamtzahl der Mitarbeiter am Standort an, d. h. wir sollten die an diesem Standort arbeitenden Mitarbeiter summieren(). Ich bin mir nicht sicher, warum wir den letzteren Weg gehen würden.
Dies erklärt also den Teil des Fehlers „Es ist in keiner der Aggregatfunktionen enthalten“. </p>
<p>Was ist die Erklärung für den falschen <strong><code>GROUP BY</code></strong>-Klauselteil? </p>