Нужна помощь: запрос SQL Server о группировании по 2 таблицам - PullRequest
1 голос
/ 05 августа 2011

У меня есть 2 таблицы

MEN

Fname | City
------------
A     | AA
B     | BB
C     | AA
D     | AA
E     | CC

Города

City
----
AA
BB
CC
DD
EE
FF

Мне нужен запрос, который подсчитает количество вхождений каждого типа вкаждый город (включая город, которого нет в основном списке)

что-то вроде

City | Count
------------
AA   | 3
BB   | 1
CC   | 1
DD   | 0
EE   | 0
FF   | 0

Заголовок

Ответы [ 3 ]

2 голосов
/ 05 августа 2011

Вам нужно право присоединиться;

select 
    cities.city,
    count(men.city)
from
    men 
    right join cities on cities.city=men.city
group by cities.city
1 голос
/ 05 августа 2011
select C.City,
       count(M.Fname) as [Count]
from Citys as C
  left outer join MEN as M
    on C.City = M.City
group by C.City
order by C.City
1 голос
/ 05 августа 2011

Если вам нужно выбрать все столбцы в таблице города, то вам нужно будет использовать правое соединение. Если вам нужно выбрать все столбцы в таблице Men, используйте левое соединение.

Select c.City, count(m.city)
From Men m
Right Join City c ON c.city = m.city
GroupBy c.city
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...