![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 27.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie,
mam problem z wyciągięciem produktów wg. atrybutów. Jeden produkt ma wiele atrybutów - chcę zrobić filtr wyszukiwania i tak np. chcę znaleść produkt, który jest w kolorze niebieskim i w rozmiarze S. Próboję z zapytaniem:
ale nie zwraca mi w ogóle żadnego rekordu. cala sprawa rozchodzi się o:
nie rozumiem dlaczego to nie działa. jeśli dam warunek OR to wyszuka mi produkt albo niebieski albo w rozmairze S, a ja potrzebuje produkt dokładnie spełniający te 2 kryteria. Proszę o podpowiedź jak to zrobić. Pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 94 Pomógł: 31 Dołączył: 12.10.2008 Skąd: WAT Ostrzeżenie: (0%) ![]() ![]() |
nie działa bo tutaj:
"`AttributesItem`.`attribute_id` = 3 AND `AttributesItem`.`attribute_id` = 20" chcesz wyciągnąć rekord, dla którego attribute_id jest jednocześnie równy 3 i 20 ![]() -------------------- • Wszystkie wielkości świata nie są tyle warte, co dobra przyjaźń... • |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 56 Dołączył: 3.06.2010 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) ![]() ![]() |
Tak na szybko przychodzą mi następujące rozwiązania:
- Dołącznie tabeli z atrybutami 2 razy raz dla koloru drugi raz dla rozmiaru - możesz policzyć ile rekordów z atrybutami się dopasowało masz do wyboru 0, 1 lub 2 interesuje cię tylko 2 - możesz użyć podzapytań które sprawdzą czy istnieje wpis w tabeli z atrybutami dla koloru i osobno dla rozmiaru. Zasadniczo struktura bazy, którą przyjąłeś jest dobra ze względu na możliwość dodawania dowolnej ilości atrybutów, ale wyszukiwanie po nich jest mało efektywne. -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
dołącz tabelę atrybut dwa razy, z aliasem na kolor i rozmiar
j. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 27.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
heh, jakie to okazało się proste
![]() tabela z alisami ![]()
Dzięki za naprowadzenie |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.06.2025 - 13:11 |