Seite 1 von 1

SQL, Count und Group BY -Hilfe-

Verfasst: Fr, 17.06.2016 23:37
von herhag
Hallo in´s Forum.

Habe zwei Tabellen.
Eine enthält Nationen und die Andere Mitgliedsdaten.
In Letzterer ist der Fremdschlüssel (f) für die jeweilige Nation enthalten.

Folgende Abfrage funktioniert und zählt richtig:

Code: Alles auswählen

SELECT DISTINCT COUNT ( "tbl_nation"."Nation"), "Person"."id_nation_f" 
FROM "Person" "Person", "tbl_nation" "tbl_nation" 
WHERE "Person"."id_nation_f" = "tbl_nation"."ID_Nat" 
GROUP BY "Person"."id_nation_f" 
ORDER BY COUNT( "tbl_nation"."Nation" ) ASC, "Person"."id_nation_f" ASC
Nun möchte ich aber den Klarnamen aus der Tabelle "tbl_nation"."Nation" mit angezeigt bekommen.
Und hier scheitere ich. :(

Momentanes Ergebnis:
COUNT ( "tbl_nation"."Nation") | id_nation_f
1 | 5
5 | 3
120 | 2
usw.

Gwünschtes Ergebniswäre aber:

COUNT ( "tbl_nation"."Nation") | id_nation_f | Nation
1 | 5 |RO
5 | 3 |KZ
120 | 2 |DE
usw.

Ich denke, dass ich noch eine Sub-Selectabfrage einbauen muss.
Aber, da komme ich noch nicht zurecht damit.

Wer kann mir dabei helfen bzw. sagen wo ich ansetzen muss.
Wäre super.

Re: SQL, Count und Group BY -Hilfe-

Verfasst: Sa, 18.06.2016 08:40
von RobertG
Hallo herhag,

vermutlich musst Du nur die "Nation" in die Gruppierung mit aufnehmen:

Code: Alles auswählen

SELECT COUNT ( "tbl_nation"."Nation"), "Person"."id_nation_f", "tbl_nation"."Nation"
FROM "Person" "Person", "tbl_nation" "tbl_nation"
WHERE "Person"."id_nation_f" = "tbl_nation"."ID_Nat"
GROUP BY "Person"."id_nation_f", "tbl_nation"."Nation"
ORDER BY COUNT( "tbl_nation"."Nation" ) ASC, "Person"."id_nation_f" ASC
Ansonsten einmal die Datenbank hier posten. Die Tabelle "tbl_nation" ist ja nicht in Deiner vorherigen Datenbank enthalten.

Gruß

Robert

Re: SQL, Count und Group BY -Hilfe-

Verfasst: Sa, 18.06.2016 10:53
von herhag
Hallo Robert,
vermutlich musst Du nur die "Nation" in die Gruppierung mit aufnehmen:
genau dies war es. :)

Manchmal sehe ich den Wald vor lauter Bäumen nicht.
Perfekt, "funzt"...

Danke.