Takže prajem príjemný deň a mám pre Vás jeden oriešok na rozlúsknutie...
Každý sme sa určite už stretli so situáciou kedy sme potrebovali vytiahnuť data z dvoch tabuliek ... jasné.
Takže jednoducho povedané potrebujem výpis použivateľov z jednej tabuľky a prideliť fotku z druhej...
Háčik? ... každý použivateľ má viac fotiek a ja ich chcem vyberať náhodne.
takže ....
SELECT u.*, a.fotka FROM uzivatelia u
JOIN (SELECT fotka FROM fotky ORDER BY RAND()) a
ON u.uzivatel_id = a.uzivatel_id
GROUP BY uzivatel_id
ORDER BY uzivatel_registracia
Explain produkuje nasledovnú tabuľku:
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 21 Using temporary; Using filesort
1 PRIMARY u eq_ref PRIMARY,uzivatel_id PRIMARY 4 a.uzivatel_id 1
2 DERIVED jfw_pict ALL NULL NULL NULL NULL 21 Using temporary; Using filesort
s čím samozrejme nie sme spokojný ... skúšal som už rozne alternatívy indexov ako aj iné rôzne query ... googlil som jak blbec ale k ničomu som sa nedostal..... Vopred ďakujem za akékoľvek myšlienky...