2016-08-09 13 views
0

Ich habe zwei Tabellen: ‚Teams‘ und ‚team_members‘,Laravel: Teams auswählen und jedes Teammitglieder zählen

Table : 'teams' 
__________________ 
| id | name  | 
|-----------------| 
| 1 | t1  | 
| 2 | t2  | 
| 3 | t3  | 
|-----------------| 

table : team_members 
_______________________________ 
| id |  team_id | user_id | 
|-------------------------------| 
| 1 |  1  | 2  | 
| 2 |  1  | 2  | 
| 3 |  2  | 1  | 
| 4 |  2  | 1  | 
| 5 |  2  | 1  | 
|-------------------|------------ 

Wie kann ich alle Teams erhalten und die Anzahl der Mitglieder jeder Mannschaft wie:

team t1 hat 2 Mitglieder.

team t2 hat 3 Mitglieder.

Was ich versucht habe (nicht arbeiten und bekommt nur ein Team mit der Anzahl der Mitglieder):

SELECT teams.name, count(O.team_id) 
as total FROM teams 
LEFT JOIN 
team_members as O 
ON 
O.team_id = teams.id 

Antwort

1

Gruppe dienen, indem sie es gelöst ist. Hier ist die Abfrage.

SELECT teams.name, COUNT(o.team_id) 
AS total FROM teams 
LEFT JOIN 
team_members AS o 
ON 
o.team_id = teams.id 
GROUP BY o.team_id 
Verwandte Themen