Select TwrKarty i grupa domyślna

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, obiekty COM .NET

Moderator: mikey

pawel.wilk
Posty: 38
Rejestracja: 06 sie 2008, 14:06
Rola: Administrator CDN XL
Wersja: 10
Lokalizacja: Kraków

Select TwrKarty i grupa domyślna

Post autor: pawel.wilk »

Jak wyciągnąć grupę domyślną? Towar przynależy do kilku grup i tylko jedna z nich jest domyślną, select z twrgrupy zwraca mi wszystkie do których przynależy dany towar, a chciałbym tylko domyślną.

SELECT TOP (50) CDN.TwrKarty.Twr_GIDNumer, CDN.TwrKarty.Twr_Kod, CDN.TwrKarty.Twr_Nazwa, CDN.TwrGrupaPelnaNazwa(CDN.TwrGrupy.TwG_GrONumer) AS Grupa, CDN.TwrKarty.Twr_Ean
FROM CDN.TwrKarty INNER JOIN
CDN.TwrGrupy ON CDN.TwrKarty.Twr_GIDNumer = CDN.TwrGrupy.TwG_GIDNumer AND CDN.TwrKarty.Twr_GIDTyp = CDN.TwrGrupy.TwG_GIDTyp
ORDER BY CDN.TwrKarty.Twr_GIDNumer


Albo od drugiej strony - wszystkie towary z grupy głównej wraz z podgrupami?
Działa mi takie coś ale tylko na podgrupach grupy głównej, na samej grupie głównej już nie działa - nie wypisuje ani jednego towaru. To by było nawet lepsze niż grupy domyślne...
Jak podstawię w LIKE '%AGD%') - %Grupa Główna% to mam zero wyników...

SELECT CDN.TwrKarty.Twr_GIDNumer, CDN.TwrKarty.Twr_Kod, CDN.TwrKarty.Twr_Nazwa, CDN.TwrGrupaPelnaNazwa(CDN.TwrGrupy.TwG_GrONumer) AS Grupa, CDN.TwrKarty.Twr_Ean
FROM CDN.TwrKarty INNER JOIN
CDN.TwrGrupy ON CDN.TwrKarty.Twr_GIDNumer = CDN.TwrGrupy.TwG_GIDNumer AND CDN.TwrKarty.Twr_GIDTyp = CDN.TwrGrupy.TwG_GIDTyp
WHERE (CDN.TwrKarty.Twr_Typ IN (1, 2)) AND (CDN.TwrGrupaPelnaNazwa(CDN.TwrGrupy.TwG_GrONumer) LIKE '%_AGD%') AND (CDN.TwrKarty.Twr_Archiwalny = 0)
ORDER BY CDN.TwrKarty.Twr_GIDNumer
elmiq
Posty: 1025
Rejestracja: 23 sie 2010, 10:04
Rola: Administrator CDN XL
Lokalizacja: Warszawa

Re: Select TwrKarty i grupa domyślna

Post autor: elmiq »

Zakładam, że chodzi o XL bo nazwy obiektów są z XL, a nie Optimy. Informacje odnośnie grup domyślnych są przechowywane w tabeli CDN.TwrGrupyDom.

Pozdrawiam,
Mateusz
Mateusz Świerkosz

http://elmiq.blogspot.com/
Awatar użytkownika
STAY_PJE
Posty: 651
Rejestracja: 24 wrz 2009, 12:08
Rola: Konsultant CDN XL
Lokalizacja: Warszawa i od Helu do Wawelu
Kontakt:

Re: Select TwrKarty i grupa domyślna

Post autor: STAY_PJE »

Żeby wyciągnąć wszystkie towary ze wskazanej grupy i podgrup musisz napisać sobie funkcję zwracającą recordset działającą na zasadzie rekurencyjnej (wywołuje sama siebie i w ten sposób tworzy pełną listę towarów). Rozdaję tę funkcję na swoich szkoleniach.
Monster
Posty: 184
Rejestracja: 20 mar 2012, 09:04
Rola: Konsultant CDN XL
Wersja: 2016
Lokalizacja: Wrocław

Re: Select TwrKarty i grupa domyślna

Post autor: Monster »

Ja korzystam z CDN.TwrLinki zamiast rekurencji (bo rozumiem założenia SQLowej rekurencji, ale nie do końca czuję praktykę :) ).
Czy to źle?
Awatar użytkownika
STAY_PJE
Posty: 651
Rejestracja: 24 wrz 2009, 12:08
Rola: Konsultant CDN XL
Lokalizacja: Warszawa i od Helu do Wawelu
Kontakt:

Re: Select TwrKarty i grupa domyślna

Post autor: STAY_PJE »

W zasadzie dobrze, choć brak w tej tabeli kilku istotnych elementów, np pełnej nazwy ścieżki albo poziomu zagnieżdżenia. Problem z tą tabelą jest taki, że czasami się rozjeżdża.
ODPOWIEDZ