Autor | Zpráva | ||
---|---|---|---|
Johnik Profil |
#1 · Zasláno: 15. 10. 2009, 20:30:59
Ahoj,
řeším problém s výběrem z db: Mám tabulky title - id - title a text - id - id_title - text - time //záznamů se stejným id_title je víc A teď co bych potřeboval nějak jednoduše, nejlépe na úrovni mysql vyřešit. 1) Potřebuju vybrat všechny titulky (z title -> title) a ty seřadit podle posledních z text -> time. Dřív jsem to měl vyřešené natvrdo v title -> time, ale při smazání řádku v text se to dost obtížně udržovalo... Dík za každou konstruktivní radu! |
||
ninja Profil |
#2 · Zasláno: 15. 10. 2009, 21:25:16
SELECT ti.title FROM title ti LEFT JOIN text te ON ti.id = te.id_title GROUP BY ti.id ORDER BY te.time; |
||
Kajman_ Profil * |
Pokud opravdu nepotřebujete text z tabulky text, tak v ninjově příkladu bude stačit jen upravit
order by max(te.time) desc Pokud chcete i příslušný text, tak by to mohlo vypadat takto nějak.. select ti.*, t1.* from title ti left join (select t2.id_title, max(t2.time) time from `text` t2 group by t2.id_title) t3 on ti.id = t3.id_title left join `text` t1 on t1.id_title = t3.id_title and t1.time = t3.time order by t1.time desc |
||
Johnik Profil |
#4 · Zasláno: 16. 10. 2009, 11:55:05
Kajman_
ninja Funguje skvěle, oběma mockrát děkuji. |
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0