Autor Zpráva
Acci
Profil
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
no tak neměn strukturu jen je přemístní všechny do jedne tabuky, to je nejjednodušší..
24k
Profil *
SELECT tmp.*

FROM
(
SELECT * FROM komentare1
UNION
SELECT * FROM komentare2
ORDER BY datum DESC
) as tmp
ORDER BY datum DESC
LIMIT 3
24k
Profil *
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 *
ach jo ...

SELECT * from
(

select * from komentare1
UNION ALL
select * from komentare2
) as tmp
ORDER BY datum DESC LIMIT 3
Acci
Profil
Díky, funguje to!
Toto téma je uzamčeno. Odpověď nelze zaslat.

0