Я пытаюсь написать некоторый SQL, чтобы позволить мне подобрать возможные дублированные записи, которые будут иметь одинаковое денежное значение и дату транзакции, но которые могли иметь ссылочный ввод счета несколько разными способами ,SQL, чтобы найти дубликаты счетов в Agresso
Я просмотрел примеры SQL, используя «GROUP» и «HAVING», но я ошибаюсь где-то, и мой SQL лежал бездействующим в течение нескольких лет.
Это то, что я написал.
SELECT amount, apar_id, trans_date
FROM agltransact
WHERE client='AA' AND period=201704 AND apar_id<>0
GROUP BY amount, apar_id, trans_date
HAVING COUNT(*) >1
ORDER BY apar_id,amount
Я надеялся, что это будет возвращать повторяющиеся суммы (сумма) с той же датой сделки (TRANS_DATE) и того же поставщика ID (apar_id), но это на самом деле возвращает данные, которые я не понимаю. Это результат первого указанного идентификатора поставщика в гораздо более длинном списке, включающем различных поставщиков, даты и суммы транзакций;
Amount Supp ID Tr Date
-4149 10303 30/06/2016
-3459 10303 30/06/2016
115.3 10303 30/06/2016
138.3 10303 30/06/2016
3343.7 10303 30/06/2016
4010.7 10303 30/06/2016
Был бы кто-нибудь любезны указать мне в правильном направлении, с тем чтобы получить дублирующие суммы по одной и той же датой сделки и поставщиком ID пожалуйста?
Вы можете попытаться объяснить, какого результата вы ожидали? –
Извините. Я надеялся показать любые суммы, которые имели одинаковые значения, по той же дате транзакции и количеству поставщиков. Например, у нас есть расходы, которые вводятся не один раз, поэтому дата и поставщик транзакций всегда одинаковы. Однако «номер счета-фактуры» может быть «Fred Exps July 16» или «Fred Expenses 07-16», таким образом, имея уникальную ссылку на счет. Выбирая повторяющиеся значения под одним и тем же поставщиком и дату транзакции, мы могли бы исследовать их, чтобы увидеть, были ли какие-либо дублированные публикации. Спасибо за ответ. –
Какая СУБД вы используете? –