Skocz do zawartości

Więcej niż jeden raz wystawiony "ten sam dokument" (duplikat dokumentu)

Polecane posty

Przez przypadek znalazłem dwie PRAWIE takie same korekty w moim systemie. PRAWIE bo nie mają tego samego numeru ani identyfikatora ale są wystawione na podstawie tego samego dokumentu (korygują ten sam dokument), mają taką samą wartość, dotyczą tego samego klienta i są wystawione w tym samym dniu. Ewidentnie pracownik się zakręcił/zamyślił i zrobił to dwa razy.

Postanowiłem napisać zapytanie, które wychwyci takie sytuacje:

 

SELECT dok_OdbiorcaId, dok_DataWyst, dok_WartNetto, dok_Typ, COUNT(*) FROM dok__Dokument
WHERE dok_Typ = 6
GROUP BY dok_OdbiorcaId, dok_DataWyst, dok_WartNetto, dok_Typ
HAVING COUNT(*)>1

 

Wynik nie jest czytelny bo nie ma tam konkretnej informacji i stąd mój post. Jak dodać dodatkowe informacje do tego zapytania typu numer dokumentów dla tych duplikatów?

Próbowałem w taki sposób ale nie zadziałało:

 

SELECT DOK1.dok_NrPelny
FROM dok__Dokument DOK1
INNER JOIN
(SELECT dok_OdbiorcaId, dok_DataWyst, dok_WartNetto, dok_Typ, COUNT(*) FROM dok__Dokument
WHERE dok_Typ = 6
GROUP BY dok_OdbiorcaId, dok_DataWyst, dok_WartNetto, dok_Typ
HAVING COUNT(*)>1) DOK2 ON DOK1.dok_Id=DOK2.dok_Id

 

Link to postu

Z pomocą innego portalu oraz z kilkoma modyfikacjami udało mi się stworzyć query, które wypisze listę dokumentów, które były korygowane więcej niż jeden raz na tą samą kwotę (duplikaty):

WITH cte AS (
SELECT *, COUNT(*) OVER (PARTITION BY dok_WartBrutto, dok_DoDokNrPelny) cnt
FROM dok__Dokument
WHERE dok_Typ = 6
)
SELECT dok_DoDokNrPelny, dok_NrPelny
FROM cte
WHERE cnt > 1

 

Edytowane przez maniootek •
Link to postu
×
×
  • Dodaj nową pozycję...