SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
|
Alati teme | Način prikaza |
15. 08. 2013. | #1 | |||
majstor
Wrote a book
|
Order by klauzula
Stanje je sledece :
Strukture tabela Citat:
Citat:
Citat:
Tabela ONDIGITA_FILE sadrzi fajlove, dok ONDIGITA_FILE_VERSION sadrzi verzije tih fajlova. Sa ovim queryijem dobijam sve fajlove i verzije (eventualno filtriram po course_id) i sve oki. Trebam da tu listu (file-ova) slozim po 2 uslova. 1 - imenu fajla ( ORDER BY name) - nije problem. 2 - po datumu (polje version je zapravo unix_timestamp) POSLEDNJE VERZIJE FILE-a. Treba uzeti u obzir samo zadnju verziju fajla kad se radi sortiranje ali query treba ipak da vrati sve verzije. Ima li smisla ovo napisano?
__________________
|
|||
16. 08. 2013. | #2 |
expert
Grand Master
|
ovo je malo nejasno
"Treba uzeti u obzir samo zadnju verziju fajla kad se radi sortiranje ali query treba ipak da vrati sve verzije." inace cini mi se da tebi treba slucaj: SELECT file_id, version.... FROM... JOIN ... GROUP BY file_id HAVING MAX(version) ORDER BY version nabrzaka i ako sam te dobro razumeo ... |
16. 08. 2013. | #3 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
|
Radi li nešto poput ovog:
Kôd:
SELECT f.file_id , f.name , f.label , version , downloaded , (select max(version) from ONDIGITA_FILE_VERSION as fv where fv.file_id = f.file_id) as maxversion FROM ONDIGITA_FILE AS f LEFT JOIN ONDIGITA_FILE_VERSION AS s USING (file_id) Order by maxversion desc, version desc |
|
|