Autor | Zpráva | ||
---|---|---|---|
radecek Profil |
#1 · Zasláno: 8. 4. 2011, 23:26:55
Ahoj,
MySQL mi vzdycky vraci tabulku typu NxM, tedy neco co ma presny pocet radku a sloupecku. Dejme tomu ze budeme mit nejaky seznam sluzeb, kterim se pripoji tabulka s oblastmi v kterych maji platnost. Oblasti platnosti se muze vybrat vice typu, tim musime vytvorit novou tabulku, ktere nam propoji sluzby a oblasti, abych mohli vybrat neomozeny pocet oblasti. Pokud slozime dorat: select * from sluzby inner join sluzby_oblast on sluzby.id = sluzby_oblast.sluzby inner join oblast on oblast.id = sluzby_oblast.oblast Ziskame data typu: 1 | kniha | praha 1 | kniha | brno 2 | medivedek | zlin Ale struktura dat by mela vypadat 1 | kniha | array(praha, brno) 2 | medivedek | zlin Toto se da vyresit pomoci cyklu: foreach($data as $d){ $ret[$d[$id]] = ... } Ale problem nastane pokud chci takovou strukturu strankovat, protoze mi lokality pridaji radky. Odstranil jsem je sloucenim (group by) podle podle id sluzby, ale pak v pruchozim cyklu musim lokality pridat extra dorazem.. (lokality musi byt v hlavnim dotazu kvuli filtrovani). Nevite jak tento problem vyresit efektivneji moc se mi to nelibi.. Doufam ze jsem problme napsal srozumitelne.. Kody jsou pouze orientacani, proto se omlouvam za preklepy.. |
||
panther Profil |
#2 · Zasláno: 8. 4. 2011, 23:30:22
radecek:
group_concat? |
||
Kajman_ Profil * |
#3 · Zasláno: 9. 4. 2011, 09:58:50
Případně dát limit zajišťující stránkování do poddotazu a k tomuto výsledku teprve připojovat lokality.
|
||
radecek Profil |
#4 · Zasláno: 9. 4. 2011, 12:57:57
Kdyz jsem provadel nejake testovani vykonu tak group_concat vysel velice pekne.. takze pouziji tento.. Dekuji :)
|
||
Časová prodleva: 13 let
|
0