Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: franka 26. 08. 2013, 13:15:11

Název: Složitý SQL export
Přispěvatel: franka 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
Název: Re:Složitý SQL export
Přispěvatel: Peter 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.
Název: Re:Složitý SQL export
Přispěvatel: franka 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
Název: Re:Složitý SQL export
Přispěvatel: rincewind 7a 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.
Název: Re:Složitý SQL export
Přispěvatel: PetrSvetr 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...