Autor Zpráva
O&D
Profil *
Zdravim
potřeboval bych poradit mám tabulku obrázky a tab galerie propojeno přez id.galerie (každý obrázek má id galerie do které patří) a chtěl bych vybrat všechny galerie a pak kekaždé vybrat náhodný obrázek z dané galerie. zatím mám toto :

SELECT obrazky.id AS obr_id, obrazky.nazev AS obr, galerie.id AS gal_id, galerie.cesta AS galerie, galerie.nazev AS gal_nazev, popis
FROM `obrazky`
LEFT JOIN galerie ON obrazky.cesta = galerie.id
ORDER BY RAND( )

to vybere všechny obrázky a přiřadí galerie řazení je náhodné.
zkoušel jsme GROUP BY galerie.id to funguje ale neumim aby to vybralo náhodnej řádek místo pořád toho prvního
poradil by někdo jak to udělat??
Kajman_
Profil *
Zkuste to takhle nějak... ale asi to nebude zrovna rychlé

select
o.id obr_id, o.nazev obr,
g.id gal_id, g.cesta galerie, g.nazev gal_nazev
from obrazky o, galerie g where o.cesta=g.id and o.id in
(select
(select b.id from obrazky b where a.id=b.cesta order by rand() limit 1) obrid
from galerie a group by a.id)
O&D
Profil *
Díky za radu nakonec než jsem ei to přečet přišel jsem na vlastní řešení nevim jestli je nejlepší ale funguje :)

SELECT * from(SELECT obrazky.id AS obr_id,obrazky.nazev AS obr,galerie.id AS gal_id,galerie.cesta AS galerie,galerie.nazev AS gal_nazev, popis FROM `obrazky`LEFT JOIN galerie ON obrazky.cesta=galerie.id ORDER BY RAND() )AS kuk GROUP BY kuk.gal_id
Toto téma je uzamčeno. Odpověď nelze zaslat.

0