Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie dwóch różnych kolumn w dwóch tabelach
dudi88
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 20.04.2012

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


Witam,

Proszę o pomoc osób, które mogą mi pomóc (IMG:style_emoticons/default/smile.gif)

W bazie danych potrzebuję posortować dwie kolumny względem siebie, które znajduja sie w różnych tabelach.

Pierwsza nazwa tabeli nazywa się "product" a jej kolumna nosi nazwę "sort_order".
Druga nazwa tabeli nazywa się "order_product" a jej kolumna nosi nazwę "quantity".

Zadanie polega na tym, aby produkty były posortowane według kolejności ważniejszejszych i mniej ważnych. Na 1 miejscu maja być produkty sortowane według kolejnośći sortowania (tabela "product"), następnie produkty od największej ilości sprzedaży (tabela "order_product").

Mam takiej zapytanie w bazie: SELECT product.sort_order, order_product.quantity FROM product INNER JOIN order_product ORDER BY `order_product`.`quantity` DESC

jednak wynik tego zapytania zwraca wartości nie powiązane z rzeczywistymi rekordami. Po prostu nie wiem skąd sie wzięły :|


Czy jest tu jakiś magik SQL, który może mi pomóc ?


Pozdrawiam

Ten post edytował dudi88 4.12.2015, 13:51:24
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





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




Jak robisz jakikolwiek JOIN to musi on zawierac ON ktore okresla po jakich polach laczysz tabele - patrz manual.
Do tego zaden magik nie jest potrzebny
Go to the top of the page
+Quote Post
dudi88
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 20.04.2012

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


Dzięki za odpowiedź.

Zrobiłem costakiego: SELECT sort_order FROM product INNER JOIN order_product ON product.sort_order=order_product.quantity ORDER BY `product`.`sort_order` DESC

jednak sortowanie produktów sklepie dalej nie jest prawidłowe.

Ten post edytował dudi88 4.12.2015, 14:20:39
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




ON product.sort_order=order_product.quantity
No ale co to jest? Rekordy chyba lacza sie ze soba przez jakies ID a nie przez kolejnosc, no nie?
Go to the top of the page
+Quote Post
dudi88
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 20.04.2012

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


No tak (IMG:style_emoticons/default/smile.gif)
Dzięki. To powinno być OK: SELECT product.sort_order, order_product.quantity FROM product INNER JOIN order_product ON product.product_id=order_product.product_id ORDER BY product.sort_order DESC
Go to the top of the page
+Quote Post

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: 23.09.2025 - 13:39