Složitý SQL export

franka

Složitý SQL export
« kdy: 26. 08. 2013, 13:15:11 »
Dobry den.

Zacinam s SQL a dostal som zaujimave zadanie bohuzial neviem si s tym dat radu.

Mam dajme tomu 3 stlpce v prvom je napr. meno v druhom cislo v tretom skupina napriklad mesto
Potrebujem vybrat vsetky mesta postupne ako su. A ku kazdemu mestu vyexportovat meno a cislo.
Teda vysledok by mal byt mesto a tam mena a id ktore sa v tom meste nachdzaju.

Toto nie je problem riesit cez select a kazden si zvlast cez phpadmin vyexportovat. Problem je v tom ze miest je 8000 a pre kazde potrebujem export do csv.

Bohuzial neviem ako toto vyriesit. Viete mi poradit

Dakujem
« Poslední změna: 26. 08. 2013, 13:26:26 od Petr Krčmář »


Peter

Re:Složitý SQL export
« Odpověď #1 kdy: 26. 08. 2013, 14:10:09 »
Vzhľadom na to, že v otázke nefigurujú doplnkové informácie o databáze, tak ma napadajú dve štandardné riešenia. Prvé vyžaduje mať korektne nastavené indexy nad ID pre mesto a jeden for cyklus čo bude vytvárať 8000 súborov a nad každým spustí selekt, a druhé je vyexportovať to do jedného súboru ktorý sa následne spracuje a porozdeluje na 8000 súborov.

franka

Re:Složitý SQL export
« Odpověď #2 kdy: 08. 09. 2013, 23:13:33 »
Ospravedlnujem sa doplnim a upravim to.
V DB je xy riadkov. Kazdy riadok obsahuje 4 udaje.
1. ID (unikat) 2 meno (moze sa opakovat) 3.doplnkove info 4.cislo - resp skupina (moze sa opakovat)
Ja potrebujem spravit export tak aby aby som vybral vsetky cisla skupin ale tak aby kazda skupina bola zastupena len raz. Len jedno cislo a k nemu priradit vsetky ostatne udaje ktore maju rovnaku skupinu. A nasledne vyexportovat. Rozmyslal som ako na to resp. ze by bolo idealne najprv vyexportovat vsetky cisla a nasledne podla nic riesit export ale nech robym co robym nejde mi to. Vzdy vyexportuje vsetky cisla a nie len s kazdeho po jednom

Re:Složitý SQL export
« Odpověď #3 kdy: 10. 09. 2013, 16:32:45 »
A nehladate nieco ako GROUP BY, resp. GROUP_CONCAT? Napr.
Kód: [Vybrat]
SELECT skupina, GROUP_CONCAT(meno) FROM tabulka GROUP BY skupina  by ti vratilo tolko radkov, kolko je skupin a v kazdom by bola skupina a vsetky mena pre danu skupinu oddelene ciarkou.

PetrSvetr

Re:Složitý SQL export
« Odpověď #4 kdy: 10. 09. 2013, 19:20:09 »
tak si z te jedne tabulky udelej nekolik docasnych a joinuj je - master tabulka pak bude neco jako create tebale tmp1 as (select distinct SKUPINA from origtable) a ke te si najoinuj ten zbytek. Teda jestli to dobre chapu, hodil by se alespon nejaky fiktivni vzorek dat...