Filtr na towarach

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

Lilpri
Posty: 127
Rejestracja: 13 maja 2019, 11:04
Rola: Administrator CDN XL

Filtr na towarach

Post autor: Lilpri »

Hej,
Mam pytanie, jak zrobić filtr, który będzie w stanie pokazać mi towary w grupie, której jestem, które nie wchodzą w skład poziomu niżej?

Mam strukturę jak w załączonej grafice.
Interesuje mnie, abym stojąc na grupie Samsung->Telefony przefiltrować towary, które nie wchodzą w grupy poniżej.
Kombinowałem z Having, ale nie potrafiłem tego ogarnąć bez wywoływania parametru dynamicznego z wyborem grupy.
Ktoś się spotkał z takim problemem?
Załączniki
Zrzut ekranu 2022-03-16 151525.png
Zrzut ekranu 2022-03-16 151525.png (5.95 KiB) Przejrzano 1074 razy

marceynowa
Posty: 341
Rejestracja: 29 lut 2008, 11:27
Rola: Administrator CDN XL
Wersja: 2022
Lokalizacja: Gdynia

Re: Filtr na towarach

Post autor: marceynowa »

na liście Grupy wg kodu po prawej stronie u góry są trzy "żółte ikony".
Pierwsza z nich "Pokaż elementy z podgrup" - gdy jest odznaczona / wyłączona - to na liście pokazują się towary tylko z zaznaczonej na drzewie grupy.

Lilpri
Posty: 127
Rejestracja: 13 maja 2019, 11:04
Rola: Administrator CDN XL

Re: Filtr na towarach

Post autor: Lilpri »

Tak, ale pytanie jest inne.
Chcę pokazać towary w grupie w której jestem ale nie są w podgrupach poniżej.

Czyli mam dwa towary
Towar A
Towar B

Towar A znajduje się w grupie A i podgrupie B. Towar B znajduje się w grupie A, ale już w żadnej podgrupie go nie ma.
Filtr w grupie A, ma pokazać tylko poedukty które są w grupie A, ale nie ma ich w podgrupach. W tym przypadku powinien pokazać tylko towar B.

marceynowa
Posty: 341
Rejestracja: 29 lut 2008, 11:27
Rola: Administrator CDN XL
Wersja: 2022
Lokalizacja: Gdynia

Re: Filtr na towarach

Post autor: marceynowa »

jeżeli prawdziwe jest założenie, że towar znajduje się tylko w jednej grupie (w przykładzie grupa A) to można użyć takiego filtra:

Kod: Zaznacz cały

twr_gidnumer in (SELECT TwG_GIDNumer FROM CDN.TwrGrupy WHERE TwG_GIDTyp = 16 GROUP BY TwG_GIDNumer HAVING COUNT(TwG_GIDNumer) = 1)

ODPOWIEDZ