Autor Zpráva
24k
Profil *
Kdo má zájem, zkuste vyřesit toto , řekl bych zapeklité rešení. ( KAJMAN se minimálně 4 h nemusí účastnit)



-- Struktura tabulky `mesta`
--

CREATE TABLE `mesta` (
`mesto` varchar(200) collate cp1250_czech_cs NOT NULL default '',
`id_kraj` tinyint(4) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=cp1250 COLLATE=cp1250_czech_cs;

--
-- Vypisuji data pro tabulku `mesta`
--

INSERT INTO `mesta` VALUES ('Praha', 1);
INSERT INTO `mesta` VALUES ('Brno', 2);
INSERT INTO `mesta` VALUES ('Kladno', 1);
INSERT INTO `mesta` VALUES ('Ostrava', 2);


-- Struktura tabulky `kraje`
--

CREATE TABLE `kraje` (
`id` tinyint(4) NOT NULL default '0',
`nazev` varchar(200) collate cp1250_czech_cs NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=cp1250 COLLATE=cp1250_czech_cs;

--
-- Vypisuji data pro tabulku `kraje`
--

INSERT INTO `kraje` VALUES (1, 'Stredocesky');
INSERT INTO `kraje` VALUES (2, 'Moravsky');



***


a nyni se 1 SQL dotazem musi vyhodit 2 radky , 2 sloupce a to tyto


Moravsky | Brno, Ostrava
Stredocesky | Praha, Kladno



Tak jsem na vysledny SQL zvedav :-)
noname
Profil *
select kraje.nazev, group_concat(mesta.mesto order by mesta.mesto asc separator ', ') from kraje left join mesta on kraje.id = mesta.id_kraj group by kraje.id order by kraje.nazev;
michaelkiller
Profil
malo by to fungovat :-) Ale od mysql 4.1

SELECT a.nazev, GROUP_CONCAT( b.mesto )
FROM kraje a, mesta b
WHERE a.id = b.id_kraj
GROUP BY a.nazev

EDIT -> tak kolega bol o nieco rychlejsi :-)
24k
Profil *
no pekne :)))

ja jsem se s tim vyporadal takto


SELECT
k2.id,
k2.nazev,
(
SELECT GROUP_CONCAT( m.mesto ) /* vylezou hodnoty oddelene carkami ktere by byly klasicky v radcich, diky GC v 1 sloupci */
FROM mesta m, kraje k
WHERE m.id_kraj = k.id /* spojeni logicky kde kraj se rovna id_kraji v mestech*/
AND k.id = k2.id /* navic se to vyfiltruje aby to spravne ukazovalo jen mesta patrici do urciteho kraje */
)

AS mesta

FROM kraje k2
WertriK
Profil *
Jsem ti říkal že je to primitivní .... ;)
24k
Profil *
no hlavne zes to vyresil :-D
MzM
Profil *
A co kdyz mam db, kde group_concat() neni?
24k
Profil *
Tak sem v prd... no sem proste nekde jinde ;)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0