1036
Vývoj / Re:MySQL - podmíněný SELECT přes dvě tabulky
« kdy: 19. 10. 2019, 19:52:39 »Tady v diskusi říkám zadání tomu, co jsem jako zadání napsal.
Což byla pěkně nedomyšlená pitomost na úrovni odpovědi na Racchekův dotaz.
A jak se říká někomu, kdo si přečte zadání a vzápětí napíše něco, co je s ním zjevně v rozporu, a je mu to úplně jedno? Jak se říká někomu, kdo ostatním pořád vnucuje zapisovat INNER JOIN pomocí OUTER JOINu ale ten příkaz opakovaně píše špatně?
Jděte se schladit. V jednom příkladu jsem nedospecifikoval některé stavy, ale účelem bylo upozornit na styl přemýšlení, nikoliv do diskuse napsat definitivní select.
Opakovaně píšu na první otázku odpověď: SELECT * FROM tbl1 LEFT JOIN tbl2 USING (id_data) WHERE allowed > 0. V tomto vidíte nějakou chybu?
V těch dalších příkladech je zanedbáno víc věcí, např. když jsme se bavili o VIEW, nemůžu odkazovat na tbl2.id_data (protože výstupem z view už není reference na původní tabulky). Přesto jsem to napsal schematicky, aby bylo zřejmé, co mám na mysli.
Dále jsem zanedbal situaci, kdyby byl sloupec allowed NULLABLE - ale to by bylo významné jen v případě inverze dotazu. Tam jste správně doplnil, že by to bylo potřeba ošetřit - ale to bylo opět mimo scope diskuse. Pointou bylo upozornit, proč je výhodné si postavit select jako outer join, protože přinese univerzalitu (např. ve formě view). Blbinka jako ošetření joinu nebo nullable je už jen technický detail.
Jestli chcete, můžete se dál točit na detailech jako jsou překlepy nebo zjednodušení v zápisu pro účely fóra. Já preferuju diskusi o tom, jak se má k problému přistupovat a proč je jaký postup výhodný. Bohužel, právě tento kontext Vám uniká a úzce se soustředíte na vybraný detail. Ostatně, na toto jsme spolu narazili i při jiných tématech.