Muse
27.04.2009, 06:53:42
Witam!
Jak pobrać jeden wynik (ostatni wg daty) jednym poleceniem porównując kilka tabel?
Mam na myśli coś w rodzaju:
SELECT t1.ID, t2.ID, t3.ID FROM t1, t2, t3 WHERE [...]
i nie wiem jak to dokończyć...
W każdej tabeli jest pole 'data' i chciałbym, żeby z kilku tabel wybrać ostatnio dodany rekord.
kefirek
27.04.2009, 07:36:35
SELECT * FROM ( SELECT ID FROM t1 UNION ALL
SELECT ID FROM t2 UNION ALL
SELECT ID FROM t3
) AS tabela ORDER BY DATA DESC LIMIT 1
Muse
27.04.2009, 14:58:19
Dzięki.
A da się w to jakoś wpleść 'SHOW TABLES' ?
Chodzi o to, żeby otrzymać nazwę tabeli, z której pochodzi wynik.
kefirek
27.04.2009, 16:25:11
SELECT * FROM ( SELECT ID, NAME_CONST('nazwa', 't1') FROM t1 UNION ALL
SELECT ID, NAME_CONST('nazwa', 't2') FROM t2 UNION ALL
SELECT ID, NAME_CONST('nazwa', 't3') FROM t3
) AS tabela ORDER BY DATA DESC LIMIT 1