Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z zapytaniem MySQL
maxio
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 17.07.2006

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


Jak się domyślacie ... mam problem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Z zapytaniem do MySQLa ...

Chodzi o wyszukiwarke i ogolnie rzecz biorac o relacje wiele do wielu .
Sprawa wyglada tak .

Jest tabela produktow (mz_elementy_2) jest tabela cech(mz_klasyfikacje_2) dla danego produktu .

Element moze miec wiele cech , cechy moga wystepowac w wielu elementach .

Struktura :

mz_elementy_2 :
id_element
nazwa_element

mz_klasyfikacje_2:
id_klasyfikacje
nazwa_klas

i tabela posrednia:

klasyfikacje_elementy
id_klasyfikacje
id_element

chodzi o zapytanie wyszukujace . Zakladamy ze chce wyszukac wszystkie produkty ktore posiadaja okreslone cechy (klasyfikacje) . Czyli produkty ktore mają takie klasyfikacje (id_klasyfikacje = 7 , id_klasyfikacje = 8 i id_klasyfikacje = 4) .

Gdzies sie zaciolem i nie moge drgnac juz chwile ... bede bardzo wdzieczny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ikioloak
post
Post #2





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

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


  1. SELECT p.* FROM mz_elementy2 p JOIN klasyfikacje_elementy k ON (p.id_element = k.id_element) WHERE k.id_klasyfikacje = 7 OR k.id_klasyfikacje = 8 OR k.id_klasyfikacje = 9

cos w tym stylu..

Ten post edytował ikioloak 9.10.2006, 21:00:18
Go to the top of the page
+Quote Post
maxio
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 17.07.2006

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


Cytat(ikioloak @ 9.10.2006, 21:58:20 ) *
  1. SELECT p.* FROM mz_elementy2 p JOIN klasyfikacje_elementy k ON (p.id_element = k.id_element) WHERE k.id_klasyfikacje = 7 OR k.id_klasyfikacje = 8 OR k.id_klasyfikacje = 9

cos w tym stylu..


Cos nie w tym stylu .
Bo chodzi o to ze czym wiecej parametrow (id_klasyfikacje) podam tym powinno byc mniej elementow . W twoim zapytaniu bedzie dokladnie na odwrot . Inaczej mowiac ... jezeli ja mu podam ze ma byc element z klasyfikacjami 6,7,8 to u ciebie wyskocza wszystkie ktore beda mialy 6 lub 7 lub 8 a u mnie musza miec 6 i 7 i 8 ... wiec wypadalo by wpisac AND zamiast OR (IMG:http://forum.php.pl/style_emoticons/default/aaevil.gif)
No i pozatym myslalem zeby dodac wiecej aliasow (czyli zeby bylo k.id_klasyfikacje=7 AND k1.id_klasyfikacje=8 itd... ale to jest jakies nie eleganckie pozatym strasznie by mi sie rozbudowalo bo bym mial ponad 30 klasyfikacji wiec sami rozumiecie (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)
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: 11.10.2025 - 07:20