Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Specyficzne sortowanie
moderninternet
post 14.05.2013, 11:47:45
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 2.08.2012

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


Witam,

Mam w bazie 3 tabele.

Tabela categories (id, title) - kategorie produktów

Tabela products (id, name, description, category) - produkty

Tabela votes (id, product_id, car_id, rating) - głosy oddane na produkty

Po wejściu w daną kategorię użytkownik wybiera filtrowanie produktów, na zasadzie produkt przydatny dla (tutaj będzie typ samochodu) i sortowanie po ilościach oddanych głosów.

Moje zapytanie wygląda następująco:

  1. SELECT * FROM products WHERE category='".$c."' AND id IN (SELECT product_id FROM votes WHERE car_id='".$car_type."') ORDER BY questionmark.gif?



Nie wiem co dopisać na końcu żeby produkty były posortowane wg parametru rating w tabeli votes. Czy wystarczy ORDER BY rating DESC w drugim zapytaniu w klauzuli IN() ?
Go to the top of the page
+Quote Post
bww
post 14.05.2013, 13:55:52
Post #2





Grupa: Zarejestrowani
Postów: 42
Pomógł: 3
Dołączył: 14.02.2012

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


Moim zdaniem najlepiej IN zamienić na JOIN, z tabeli votes wyciągnąć interesująca kolumnę i na końcu wg. tej kolumny zrobić order by.
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 Wersja Lo-Fi Aktualny czas: 16.07.2025 - 16:58