У меня есть этот запрос, и он выполняет пару соединений, но я хочу сделать Count
, и теперь он дает счет 1 для всех. Что я делаю не так, чтобы сделать так, чтобы это на самом деле считается? Спасибо!
SELECT
UserColder.ContactName,
CountryUser.[User ID],
COUNT(Country.Name) As num,
Country.Name,
Country.ID
FROM
dbo.Country
INNER JOIN dbo.CountryUser
ON Country.ID = CountryUser.[Foreign ID]
INNER JOIN dbo.UserColder
ON CountryUser.[User ID] = UserColder.ID
WHERE
EXISTS
(SELECT
NULL
FROM
CountryUser CU2
WHERE
CU2.[Foreign ID] = CountryUser.[Foreign ID]
AND CU2.[User ID] <> CountryUser.[User ID])
GROUP BY UserColder.ContactName, CountryUser.[User ID], Country.Name, Country.ID
EDIT:
Мои данные выглядят так:
Bob United States
Tom United States
Steve United Stated
Frank Canada
Billy Canada
Lou China
Так что рядом с США должно быть 3 и Канада 2 и Китай 1.