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 |
![]() |
#1 | |||
majstor
Wrote a book
|
![]() 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?
__________________
|
|||
![]() |
![]() |
![]() |
#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 ... |
![]() |
![]() |
![]() |
#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 |
![]() |
![]() |
![]() |
Alati teme | |
Način prikaza | |
|
|