Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> rzutowanie 3 wierszy o naj. wartości na kolumny, ciężko to wytłuamczyć, przykład w poście
matulek
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 1
Dołączył: 31.07.2011

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


Mam tabelę "przedmioty" i chciałbym osiągnąć coś takiego:



Czyli wyciągnąć z wierszy 3 największe ceny z każdego działu w kolejności od największej do najmniejszej.

Sam wykombinowałem coś takiego:

  1. SELECT c1.dzial_id dzial_id, c1.cena cena1, c2.cena cena2, c3.cena cena3
  2. FROM (SELECT * FROM przedmioty ORDER BY cena DESC) c1
  3. LEFT JOIN (SELECT * FROM przedmioty ORDER BY cena DESC) c2 ON ( c1.dzial_id = c2.dzial_id && c1.id != c2.id )
  4. LEFT JOIN (SELECT * FROM przedmioty ORDER BY cena DESC) c3 ON ( c1.dzial_id = c3.dzial_id && c3.id != c1.id && c3.id != c2.id )
  5. GROUP BY c1.dzial_id


Mam jeszcze pomysł by dodać po prostu dodatkowe trzy kolumny i za pomocą trigger'ów je aktualizować.

I chciałbym się dowiedzieć czy może nie znacie jakiegoś lepszego rozwiązania.
Go to the top of the page
+Quote Post

Posty w temacie


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: 19.08.2025 - 17:52