Autor | Zpráva | ||
---|---|---|---|
O&D Profil * |
#1 · Zasláno: 7. 6. 2007, 19:24:38
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 * |
#2 · Zasláno: 7. 6. 2007, 21:04:08
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 * |
#3 · Zasláno: 8. 6. 2007, 18:51:25
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 |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0