Autor | Zpráva | ||
---|---|---|---|
Acci Profil |
#1 · Zasláno: 29. 7. 2006, 11:33:01
Mám dvě tabulky, komentare1 a komentare2. Každá obsahuje komentáře k určitému článku. Struktura obou tabulek ja následující (zjednodušeně):
ID | autor | text | datum Nyní potřebuji vypsat tři nejnovější komentáře. Řeším to takhle SELECT * FROM komentare1 UNION SELECT * FROM komentare2 Bohužel pak nemůžu využít řazení podle data a komentáře se vypíší nejprve z prvního článku a potom z druhého článku. Jak to udělat? Vím, že by bylo lepší, aby všechny komentáře byly v jedné tabulce, bohužel strukturu databáze nemůžu měnit. |
||
Casero Profil |
#2 · Zasláno: 29. 7. 2006, 12:07:13
no tak neměn strukturu jen je přemístní všechny do jedne tabuky, to je nejjednodušší..
|
||
24k Profil * |
#3 · Zasláno: 29. 7. 2006, 22:11:37
SELECT tmp.*
FROM ( SELECT * FROM komentare1 UNION SELECT * FROM komentare2 ORDER BY datum DESC ) as tmp ORDER BY datum DESC LIMIT 3 |
||
24k Profil * |
#4 · Zasláno: 29. 7. 2006, 22:17:21
SELECT * from
( select * from komentare1 UNION ALL select * from komentare1 ) as tmp ORDER BY datum DESC LIMIT 3 Melo by fungovat v MYSQL 4.1+ a take obe tabulky musi mit stejny pocet sloupcu a stejne nazvy. |
||
24k Profil * |
#5 · Zasláno: 29. 7. 2006, 22:28:18
ach jo ...
SELECT * from ( select * from komentare1 UNION ALL select * from komentare2 ) as tmp ORDER BY datum DESC LIMIT 3 |
||
Acci Profil |
#6 · Zasláno: 30. 7. 2006, 10:08:20
Díky, funguje to!
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0