
Mysql dotaz složitější - jde to ?
Zdar, mám tu jednu takovou složitost. Chtěl bych poskládat dotaz takto: vybere z tabulky a všechyn sloupce místo toho aby vrátil číslo (v jednom sloupci, v druhém mám druhy jeden sloupeček id druhy názvy) by vrátil název toho druhu. Jde to, nebo se to musí dělat na několikrát ? Díky za pomoc.
Pro inspiraci jeden z mých běžných dotazů (plně funkční!):
zaujimave, ale obavam sa, ze ak by v tom chcel niekto iny (mimo teba) urobit upravu ci zmenu, tak nema sancu a skorej napise novy select.
kebyze po niekom najdem v praci takyto kod, tak mu odrapim ruky. je to dost neprehladne (hlavne kvoli tym substituciam pomocou selectov) a zbytocne sa tam pouziva OUTER. verim, ze pouzitim funkcii, view (a pokial je to MS SQL tak aj with) by sa tento select zmestil na par riadkov.
Není tady prostor abych zde rozpitvával zadání. Spojení tabulek je pak celkem logické a ty vložené selecty IMHO to naopak zjednodušují pro jiného, protože je přesně na místě ucelený select. Je to názornější, než dělat nejprve pomocné přechodné tabulky. Původně to bylo určeno pro MS SQL, cílem byla tisková sestav v Delphi. Samozřejmě, není to jediné možné řešení a věřím, že co programátor, to jiné neméně dobré řešení.
Výsledok zlého návrhu databázy...
Ani taky ne. Ne vždy jde navrhnout databáze "na všechno". Návrh databáze jsem nedělal já. Je to z inventury nároků na restituci, kde bylo strašlivě moc variant - měl pole, dali za to barák + peníze nebo les, nemovitosti, prostě kvanta možností a jejich kombinace. Tento obří select vyhledával chyby v databázi tedy nepovolené kombinace nároků a plnění restitucí. Vnitřní selecty vytahují chybné věty a "obalový" select to vhodně seřadí a vysoučtuje.