Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jak sformulowac zapytanie :/
ergo
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.03.2005

Ostrzeżenie: (0%)
-----


mam tabelke:
produkt | cecha | parametr

przykladowo:

37 1 78
37 17 42
37 17 74
37 15 39

(dla jakiegostam produktu iles cech zapisanych )

i chcialbym z niej pobrac id produktow ktore maja np.

cecha=5 i parametr dla tej cechy parametr=6
jako ze maja kilka cech przypisanych typu producent, zasilanie itp.
to jeszcze rownoczesnie chce pobrac produkty danego producenta o okreslonej cesze

wiec chcialbym zeby mi wybralo id produktow dla cechy producent ( np.1 ) o parametrze firma
czyli
  1. WHERE cecha=1 AND parametr=55

ale rownoczesnie chce zeby to byly elementy montowane sciennie czyli
czyli
  1. WHERE cecha=17 AND parametr=42

nie moge napisac wiec :
  1. WHERE cecha=1 AND parametr=55 AND cecha=17 AND parametr=42

bo to jest sprzeczne zapytanie, zna ktos rozawiazanie tego problemu ( mam wrazenie ze to cos prostego co mi umknelo )
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ergo
post
Post #2





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.03.2005

Ostrzeżenie: (0%)
-----


generalnie ja musze miec rozwiazanie ktore obsluguje nieskonczona ilosc mozliwych cech i parametrow dla produktu, w zasadzie mozna by to zrobic za pomoca tabeli tymczasowej ale nie wiem jak potem wyfiltrowac niepotrzebne elementy.

bo moge pobrac bezproblemowo produkty danego producenta, produkty o okreslonych cechach w jednym zapytaniu, ale nie wiem jak zrobic np zapytanie pobierajace produkty spelniajace wszystkie warunki na raz...

no i jest rozwiazanie ( moze nie najpiekniejsze ale zawsze):

jezeli mamy kilka warunkow wyszukiwania to wyszukuje najpierw wszystkie id elementow ktore zawieraja sie w zbioreze ( kategoria=x AND cecha=y AND parametr=z ), to nam juz zwraca zawezona licznbe produktow ( w przypadku sklepu nad ktorym pracuje zwykle nie wiecej niz 10 elementow ale powinno dzialac nawet na duzych ilosciach przedmiotow ), potem z tabeli cech dla kazdego kolejnego warunku wyszukuje kolejna ceche i parametr ale juz w zawezonym zakresie elementow czyli id IN (id z poprzedniej iteracji) AND cecha=x AND parametr=y , i znowu zawezam liste id produktow i tak dla wszystkich zadanych warunkow, ma to moze te wade ze dla kazdego warunku dodaje 1 zapytanie ale za to sa to szybkie operacje tylko na liczbach. a zalete ma te ze dla kazdego produktu mozna zdefiniowac i przypisac nieskonczona ilosc cech

Ten post edytował ergo 13.03.2006, 10:13:41
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 00:40