vako,
imam tri tablice u bazi, koje imaju zajedničko polje 'id' i 'datum'
trebao bi sad iz te tri tablice izvući tri najnovije stvari, znači mogu biti sve tri iz jedne tablice, može biti svaka iz druge tablice, itd.
valjda se može to direktno samo iz jednog query-a
malo sam njuškao po mysql referencu, ali to je tako nepregledno i ne može se ništa naći
nemres s jednim kverijem jer nemas po cemu orderati tj. moras specificirati po kojem datum poljima ces orderati i to ne valja odnosno ne daje rezultate koji ti trebaju.
problem rjesavas koristenjem temporary tablica:
Code:
CREATE TEMPORARY TABLE tmp_table (
id int(10),
table_id int(10),
datum date,
PRIMARY KEY (id, table_id)
)
INSERT INTO tmp_table SELECT id, 1, datum FROM table_a;
INSERT INTO tmp_table SELECT id, 2, datum FROM table_b;
INSERT INTO tmp_table SELECT id, 3, datum FROM table_c;
SELECT id, datum FROM tmp_table ORDER BY datum DESC LIMIT 10;
dakle, prvo radis temporary tablicu (međuspremnik) u koju ćeš trpati rezultate iz svih tablica da bi mogao orderati.
onda insertas iz svake pojedine tablice u temp tablicu (tu isto mozes raditi LIMIT, ovisno koliko ti rezultata na kraju treba i sto zelis postici).
sada imas sve u temporary tablici i mozes raditi ORDER.
table_id u temporary tablici je zbog toga da ti se ne bi pregazili id-jevi. recimo da u tablici table_a imas id 4 i u table_b isto, kad ne bi bilo table_id polja onda bi u temp tablici na kraju imao samo jedan record s id-jem 4.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum