Zadejte hledaný výraz...

Složitý MySQL dotaz na CROSS tabulek

perry
verified
rating uzivatele
(2 hodnocení)
8. 11. 2008 12:29:54
Zdravím
Mám problém. Potřebuji ze dvou tabulek v DB vybrat záznamy (to není problém, použiji JOINy)... co bych ovšem potřeboval je, aby se mi vybraly všechny možnosti (něco jako CROSS), ovšem nechci duplikovat řádky...
Př.:
Mám tabulku uživatelů, tabulku článků a pak chci vypsat pro každého uživatele všechny články.. jenomže tím zápis článků duplikuji... chtěl bych, aby se vypsala jedna řádka článek a pak se všichni uživatelé seřadili do jedné buňky jako výčet.
Jde to nějak ?
8. 11. 2008 12:29:54
https://webtrh.cz/diskuse/slozity-mysql-dotaz-na-cross-tabulek#reply155665
Honza
verified
rating uzivatele
(17 hodnocení)
8. 11. 2008 14:15:25
Na to je prímová funkce GROUP_CONCAT :)
http://php.vrana.cz/vypis-dat-ze-zavislych-tabulek.php
8. 11. 2008 14:15:25
https://webtrh.cz/diskuse/slozity-mysql-dotaz-na-cross-tabulek#reply155664
perry
verified
rating uzivatele
(2 hodnocení)
8. 11. 2008 17:00:35
Tak to by bylo.. ovšem bych to potřeboval použít bez GROUP BY části klauzule... Mám v dotazu WHEN a GROUP_CONCAT pouzivam jen tehdy, pokud nema dany uzivatel jeste nic prideleno (pak vypisuji seznam vsech uzivatelu prave s GROUP_CONCAT). Jenomze kdyz pouziju potrebne GROUP BY, tak mi to urizne zase duplicity, ktere vznikly pri CROSSu tabulek
8. 11. 2008 17:00:35
https://webtrh.cz/diskuse/slozity-mysql-dotaz-na-cross-tabulek#reply155663
perry
verified
rating uzivatele
(2 hodnocení)
8. 11. 2008 17:55:26
Tak jsem to vyrešil takovýmto dotazem.... názor na to, jaká je to "prasárna" a jestli by to neslo jinak...
8. 11. 2008 17:55:26
https://webtrh.cz/diskuse/slozity-mysql-dotaz-na-cross-tabulek#reply155662
Honza
verified
rating uzivatele
(17 hodnocení)
8. 11. 2008 18:09:47
hlavne ze to funguje ;)
8. 11. 2008 18:09:47
https://webtrh.cz/diskuse/slozity-mysql-dotaz-na-cross-tabulek#reply155661
perry
verified
rating uzivatele
(2 hodnocení)
8. 11. 2008 18:20:33
zakjan:
No to jo.. beží to 0.0038s.... jenomže bez toho vnořenýho SELECTU (tudíž bez té podmínky) necelých 0.0015, což mi přijde dost zásadní rozdíl... bohužel protože potřebuju všechny výsledky v jednom poli, musím to do něj nejak vpravit.... jde mi o to, jestli nemám třeba použít 2 oddělený SELECTY a pak to spojit až na úrovní PHP... nevím, co by bylo míň náročný na kapacitu.. jestli tohle, nebo nějak "zaifovat" PHP-ko
8. 11. 2008 18:20:33
https://webtrh.cz/diskuse/slozity-mysql-dotaz-na-cross-tabulek#reply155660
Pro odpověď se přihlašte.
Přihlásit