Есть база пользователей, их кошельков и транзакций.
Необходимо найти пользователей с валютой кошелька EUR (WalletSections.Currency = 2), но у которых не было транзакций в EUR.
Использую INTERSECT, из выборки WalletSections.Currency = 2 убрал (WalletSections.Currency = 2 AND COUNT(Transactions.TransactionID) = 0)
Корректен ли запрос, или лучше использовать другой оператор?
SELECT Users.UserID
FROM Users
INNER JOIN Wallets
ON Users.UserId = Wallets.UserId
INNER JOIN WalletSections
ON Wallets.WalletId = WalletSections.WalletId
WHERE WalletSections.Currency = 2
GROUP BY Users.UserID
INTERSECTSELECT Users.UserID
FROM Users
INNER JOIN Wallets
ON Users.UserId = Wallets.UserId
INNER JOIN WalletSections
ON Wallets.WalletId = WalletSections.WalletId
INNER JOIN Transactions
ON WalletSections.WalletSectionID = Transactions.WalletSectionID
WHERE WalletSections.Currency = 2
AND COUNT(Transactions.TransactionID) = 0
GROUP BY Users.UserID