本当にうまく機能するクエリがあります。しかし、私はusers_in_this_country
が> 1の場合にフィルタを追加しようとしています。users_in_this_country > 1
をWHEREに追加することを知っています。しかし、それを括弧の中に追加すると無効な列となり、括弧の外側に追加すると同じです。これはおそらく本当にばかげて簡単ですが、私は何を見ていますか?ありがとう!あなたはこのCOUNTに基づくフィルタリング
WITH CTE AS (
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')
)
SELECT *
FROM CTE
WHERE user_in_this_country > 1
'user_in_this_country'(単数ユーザ)タイプミスがあることを教えて、あなたことをしてくださいユーザー** s **をタイプすることを意味しました!それ以外の場合は本当に愚かで簡単です:-) – paxdiablo