У меня есть запрос, который работает очень хорошо. Но я пытаюсь добавить фильтр, поэтому, если users_in_this_country
равен> 1. Я знаю, чтобы добавить users_in_this_country > 1
в WHERE. Но если я добавлю его в круглые скобки, он скажет недопустимый столбец и то же самое, если я добавлю его за скобки Вероятно, это действительно глупо и легко, но что я пропускаю? Спасибо!
SELECT u.ContactName
,cu.[User ID]
,c.Name
,c.ID
,cu.[Foreign Table]
,count(*) OVER (PARTITION BY c.ID) AS user_in_this_country
FROM dbo.Country AS c
INNER JOIN dbo.CountryUser AS cu ON c.ID = cu.[Foreign ID]
INNER JOIN dbo.UserColder AS u ON cu.[User ID] = u.ID
WHERE EXISTS (
SELECT *
FROM CountryUser AS cu2
WHERE cu2.[Foreign ID] = cu.[Foreign ID]
AND cu2.[User ID] <> cu.[User ID]
AND cu.[Foreign Table] = 'Country')