![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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 |
|
|
![]()
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 |
|
|
![]()
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? |
|
|
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.09.2025 - 13:39 |