Filtr po fragmencie atrybutu
Moderator: mikey
Filtr po fragmencie atrybutu
Jak ustawić filtr na Towarach, aby uzytkownik mógł wpisac fragment tekstu atrybuty (id 173) np. HE i wyszukał wszystkie towary, które w tym atrybucie mają fragment HE?
Re: Filtr po fragmencie atrybutu
Kod: Zaznacz cały
exists (select 1 from cdn.Atrybuty where atr_atkid = 173 and atr_wartosc LIKE '%' + ?@S100|Szukaj_ciag:'{}' + '%' and atr_obiNumer = Twr_gidNumer)
--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Filtr po fragmencie atrybutu
Coś jest nie tak, bo nie znajduje. Mam wartość atrybutu RU. Filtr pyta, podaję RU albo R albo %RU% i nic,.. nie znajduje
Re: Filtr po fragmencie atrybutu
może id atrybutu do warunkowania to nie 173
--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Filtr po fragmencie atrybutu
Doszłam do przyczyny ale nie wiem jak to rozwiązać. To zapytanie działa ale jak utworzę nowy atrybut o nowym id. dla istniejących działa wybiórczo- niektóre id widzi, niektóre nie. widzę na stronie, że problem znany ale da się to rozwiązać bez tworzenia nowych atrybutów?
Re: Filtr po fragmencie atrybutu
jest post z takim problemem ? wklej link.
--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Filtr po fragmencie atrybutu
Myślę, że to nie jest problem, tylko ewentualny bałagan w bazie, bo zapytanie jest poprawne. Proszę wziąć ID towaru, który rzekomo ma wartość RU w pożądanym atrybucie i wykonać dla niego zapytanie podstawiając ID pod zmienną:
Jeśli jest tam atrybut z identyfikatorem klasy 173, to przekazany Pani filtr powinien go zwracać, chyba że są jakieś ukryte znaki ASCII, które psują jego działanie.
Kod: Zaznacz cały
SELECT *
FROM CDN.Atrybuty WHERE Atr_OBITyp = 16 AND Atr_OBINumer = @ID
Re: Filtr po fragmencie atrybutu
Może nie widzieć wszystkich atrybutów jeżeli atrybut jest typy "Wielowartościowy". Wtedy wartości są w tabeli CDN.AtrybutyHist.
Cześć Mateusz
Cześć Mateusz
Pozdrawiam,
Robert
select convert(varchar(100),0x637a6173616d69207069737aea2074752067b375706f7479203a29)
Robert
select convert(varchar(100),0x637a6173616d69207069737aea2074752067b375706f7479203a29)
Re: Filtr po fragmencie atrybutu
To jest atrybut wielowartosciowy..To jak wtedy zbudować taki filtr?
i drugie pytanie- jak zbudować filtr, który pyta o np.3 atrybuty- uzytkownik pierw podaje fragment 1, potem 2 itd albo za jednym razem?
i drugie pytanie- jak zbudować filtr, który pyta o np.3 atrybuty- uzytkownik pierw podaje fragment 1, potem 2 itd albo za jednym razem?
Re: Filtr po fragmencie atrybutu
Hej
Zgadza się, ale to już inna sytuacja, bo wtedy w Atr_Wartość powinien być timestamp z datą modyfikacji, co sprowadza nas do tego, że w bazie są śmieci, których admin nie uporządkował.
Pani Doroto, filtr będzie w zasadzie identyczny, tylko trzeba zmienić nazwę tabeli i przedrostki Atr_ na Ath_. Dobrze też dorzucić do wiązania typ obiektu.