2016-07-15 3 views
0

У меня есть две таблицы: команды (номер, имя) и пользователей (номер, имя, team_id)Количество в SQL - две таблицы

Я хочу следующий результат:

Team | Members 
team1 | 10 
team2 | 14 
team3 | 8 

Я пробовал:

SELECT t.name AS 'Team', COUNT(u.email) AS 'Members' FROM teams t INNER JOIN users u ON (u.team_id = t.id) 

но это не сработало.

ответ

5

Вы должны использовать GROUP BY, и у вас есть ошибка синтаксиса для псевдонима, попробуйте следующее:

SELECT t.name AS `Team`, COUNT(u.email) AS `Members` 
FROM teams t INNER JOIN users u ON (u.team_id = t.id) 
GROUP BY t.name -- or t.id 
0

Вы должны GROUP BY значение команды имя:

SELECT t.name AS `Team`, 
     COUNT(u.email) AS `Members` 
FROM teams t 
INNER JOIN users u ON u.team_id = t.id 
GROUP BY t.name