Нужно перечислить строки, содержащиеся в count (*) Access - PullRequest
0 голосов
/ 12 июля 2019

Всем привет и заранее благодарю за помощь.

У меня проблемы с запросом SQL в доступе.

У меня База данных

Мне нужен следующий вывод (показать и перечислить ТОЛЬКО номер магазина и PaidMoney, где выплаченные деньги равны только сумме 2 или более раз) желаемый вывод

У меня уже есть 2 запросаКак решить эту проблему, но каждый из моих запросов решает только 50% ответа, который мне нужен, в первом перечислены все результаты, а не только дубликаты, а во втором запросе указано, сколько существует дубликатов, но нет списка ипокажи мне дубликаты.

Первый запрос

SELECT StoreNumber, PaidMoney 
FROM Stores

Второй запрос

SELECT StoreNumber, PaidMoney, COUNT(*)
FROM Stores
GROUP BY StoreNumber, PaidMoney 
HAVING COUNT(*) > 1

Спасибовсем вам за ваше время и помощь!

1 Ответ

0 голосов
/ 12 июля 2019

Вы можете объединить 2 запроса вместе и только «выбрать» столбцы из первого запроса. Второй запрос просто отфильтровывает строки первого запроса, которые появляются только один раз. Строки из первого запроса, которые появляются более одного раза, должны появляться столько раз, сколько они появляются в первом запросе.

 SELECT q1.StoreNumber, q1.PaidMoney
 FROM (SELECT StoreNumber, PaidMoney 
       FROM Stores) q1
      INNER JOIN (SELECT StoreNumber, PaidMoney, COUNT(*) ct2
                  FROM Stores
                  GROUP BY StoreNumber, PaidMoney 
                  HAVING COUNT(*) > 1) q2 
              ON q1.StoreNumber = q2.StoreNumber 
             AND q1.PaidMoney = q2.PaidMoney
...