Я пытаюсь написать SQL-запрос, который возвращает только сотрудников, у которых есть несколько транзакций в одну и ту же дату (count(TransactionDate) > 1), но транзакции произошли в разных идентификаторах магазина. Я пытаюсь использовать комбинацию агрегата подсчета и наличия, но не могу вернуть правильные значения. Будет ли временная таблица лучшим способом сделать это или, может быть, подзапрос? Мой запрос ниже не возвращает точные записи. Любая помощь приветствуется. Спасибо!
EmployeeID | StoreID | TransactionDate
--------------------------------------
1 | 1 | 2016-09-09 --should be returned
--------------------------------------
1 | 2 | 2016-09-09 --should be returned
--------------------------------------
1 | 3 | 2016-09-09 --should be returned
--------------------------------------
1 | 1 | 2016-09-18 --should not be returned
--------------------------------------
2 | 1 | 2016-09-09 --should not be returned
--------------------------------------
2 | 1 | 2016-09-09 --should not be returned
--------------------------------------
3 | 1 | 2016-09-09 --should not be returned
--------------------------------------
4 | 5 | 2016-09-09 --should be returned
--------------------------------------
4 | 6 | 2016-09-09 --should be returned
select top 1000 EmployeeID, StoreID, TransactionDate, count(StoreID)[StoreCount], count(TransactionDate)[Transaction Count]
from myTable
group by EmployeeID, StoreID, TransactionDate
having count(StoreID) > 1 and count(TransactionDate) > 1
order by TransactionDate desc