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 |
25. 03. 2008. | #1 |
Boban Karišik
Expert
|
sql help
Pozdrav drugari, imam pitanje vezano za sql upit. Zezam se time vec satima, nikako da nadjem resenje a deluje mi jako jednostavno.
Imam 2 tabele koje izgledaju ovako: table1 id integer ime varchar prilepljena enum('ne','da') table2 id integer table1_id integer komentar text datum integer (php-ov timestamp) e sada, ono sto meni treba je sledece: treba da izlistam sve naslove (table1.ime) distinktivno ali po redosledu datuma iz tabele2 (najnoviji prvi) ali i da ako je table1.prilepljena setovana na da, da ona bude prva gore ne vezano za datume... Svaka ideja je dobro dosla. Hvala
__________________
Ako već nisi Anđeo, bar budi čovek... Poslednja izmena od Blood : 25. 03. 2008. u 22:31. |
25. 03. 2008. | #2 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
Mozda nesto ovako:
Kôd:
select distinct table1.ime from table1, table2 where table1.id=table2.table1_id order by table1.prilepljena asc, table2.datum desc; |
26. 03. 2008. | #3 |
Boban Karišik
Expert
|
heh, probao sam to, probao sam i umesto distinct da stavim group by t1.ime ali nista..
__________________
Ako već nisi Anđeo, bar budi čovek... |
26. 03. 2008. | #4 |
profesionalac
Professional
Datum učlanjenja: 21.06.2005
Poruke: 294
Hvala: 93
525 "Hvala" u 19 poruka
|
Dinketovo rešenje je dobro, samo što je kod tebe polje enum u redosledu 'ne','da' pa ti sa asc prvo lista 'ne' pa onda 'da' . Tako da ili da promeniš redosled u enum ili sql query:
Kôd:
select distinct table1.ime from table1, table2 where table1.id=table2.table1_id order by table1.prilepljena desc, table2.datum desc; Može i ovako: Kôd:
SELECT table1.ime -- , table1.prilepljena, table2.datum FROM table1 LEFT JOIN table2 ON table1.id = table2.table1_id ORDER BY table1.prilepljena DESC, table2.datum DESC ; Poslednja izmena od BluesRocker : 26. 03. 2008. u 12:24. |
26. 03. 2008. | #5 |
novi član
Datum učlanjenja: 10.01.2008
Poruke: 6
Hvala: 0
0 "Hvala" u 0 poruka
|
Mozda ovako radi posao:
select distinct table1.ime from table1, table2 where table1.id=table2.table1_id order by ISNULL(table1.prilepljena) desc, table2.datum desc; |
26. 03. 2008. | #6 |
Boban Karišik
Expert
|
Hvala jos jednom..
__________________
Ako već nisi Anđeo, bar budi čovek... |
|
|