Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Spełnianie warunków w join
kilaz91
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 3.04.2014

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


Witam,
potrzebuję wybierać elementy które zawierają konkretne odpowiedzi w zewnętrznych tabelach.
Obrazując:
- wybieram kilka cech, np "wifi", "aparat" z wyszukiwarki.
- wybieram telefon który ma podkategorie:

SELECT telefony t
JOIN t.cechy c
WHERE (c.wartosc = '%wifi%' AND c.nazwa = 'łączność') AND (c.wartosc = '%aparat%' AND c.nazwa = 'multimedia')

aczkolwiek sprawa wygląda tak że w baza danych nie posiada jednej kolumny lecz kilka do których się łączy

wynik bez where:
['nazwa'=>'sony',
'cena'=>1000,
'cechy'=>[
[0]=>['nazwa'=>'multimedia','wartosc'=>'aparat,głośniki,latarka'],
[1]=>['nazwa'=>'łączność','wartosc'=>'wifi,bluetooth,lte'],
]

w zapytaniu powyżej wybiera wyniki które zawierają w jednym ciągu zarówno wifi jak i aparat (tutaj takich nie ma bo jeden warunek jest w jednym a drugi w drugim) ale potrzebuję wyciągnąć te telefony które w dwóch różnych wierszach zawiera w jednym joinie wifi a w drugim aparat.

Trochę to skomplikowane aczkolwiek tutaj cechy są wpisywane ręcznie.

Jest to możliwe ?

Z góry dzięki

Ten post edytował kilaz91 20.01.2015, 12:53:22
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) By uzywac %% w warunku to masz uzywac LIKE a nie =
2) Musisz dac tyle JOINow ile szukasz roznych nazw cech. W on masz dac daną cechę i dana wartosc. A potem w WHERE masz miec dodatkowo tyle AND ow ile JOINow
Przyklad:

SELECT telefony t
left JOIN cechy c1 on (blabla)
left JOIN cechy c2 on (blabla)
WHERE c1.nazwa is not null and c2.nazwa is not null

w blabla masz wstawic danyc warunek łączenia po nazwie i wartosci


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kilaz91
post
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 3.04.2014

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


it's working smile.gif
Dzięki wielkie!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 23:21