Witam,
potrzebował bym filtr który zwróci mi na liście dokumentów, dokumenty FS - które mają dwa lub więcej załączników.
Dziękuję za pomoc
Filtr dokumenty handlowe - załączniki dwa lub więcej
Moderator: mikey
Re: Filtr dokumenty handlowe - załączniki dwa lub więcej
Kod: Zaznacz cały
Trn_GidNumer IN (
SELECT Trn_GidNumer
FROM CDN.TraNag
join CDN.DaneObiekty on TrN_GIDNumer=DAO_ObiNumer and DAO_ObiTyp=Trn_GidTyp
GROUP BY TrN_GidNumer
HAVING COUNT(DaO_ObiNumer) > 1
)--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Filtr dokumenty handlowe - załączniki dwa lub więcej
Potrzebuję teraz filtrować te dokumenty, które nie mają załącznika.
Próbowałem przebudować powyższy kod operatorem NOT EXISTS () z WHERE ale nie pomogło.
Rozumiem że tutaj klauzula HAVING z COUNT() nie ma zastosowania?
Jak wyglądałby taki kod?
Dziękuję za wszelką pomoc.
Próbowałem przebudować powyższy kod operatorem NOT EXISTS () z WHERE ale nie pomogło.
Rozumiem że tutaj klauzula HAVING z COUNT() nie ma zastosowania?
Jak wyglądałby taki kod?
Dziękuję za wszelką pomoc.
Re: Filtr dokumenty handlowe - załączniki dwa lub więcej
można zamienić IN na NOT IN już bez grupowania i warunków having bo pełny join sprawdzi czy w ogóle istnieje powiązanie
ale lepiej użyć not exists, powinno być szybsze (i bezpieczniejsze przy NULL-ach)
ale lepiej użyć not exists, powinno być szybsze (i bezpieczniejsze przy NULL-ach)
Kod: Zaznacz cały
NOT EXISTS (
SELECT 1
FROM CDN.DaneObiekty
WHERE DAO_ObiNumer = Trn_GidNumer
AND DAO_ObiTyp = Trn_GidTyp
)--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Filtr dokumenty handlowe - załączniki dwa lub więcej
Pomogło bez NOT EXISTSpraiser pisze: ↑03 paź 2025, 11:13można zamienić IN na NOT IN już bez grupowania i warunków having bo pełny join sprawdzi czy w ogóle istnieje powiązanie
ale lepiej użyć not exists, powinno być szybsze (i bezpieczniejsze przy NULL-ach)
Kod: Zaznacz cały
NOT EXISTS ( SELECT 1 FROM CDN.DaneObiekty WHERE DAO_ObiNumer = Trn_GidNumer AND DAO_ObiTyp = Trn_GidTyp )
Kod: Zaznacz cały
Trn_GidNumer NOT IN (
SELECT Trn_GidNumer
FROM CDN.TraNag
join CDN.DaneObiekty on TrN_GIDNumer=DAO_ObiNumer and DAO_ObiTyp=Trn_GidTyp
)