Není to sice MySQL, ale... budiž. Učím se trochu dělat v PowerBuilderu a v tutoriálu jsem narazil na tento dotaz:
DECLARE custstatecursor CURSOR FOR
SELECT state FROM customer
GROUP BY state HAVING count(state)=1
UNION
SELECT state FROM customer
GROUP BY state
HAVING count(state)>1;
Jde o to, že každý customer má ve svém záznamu state a já potřebuji vytáhnout státy bez duplicit. Takže pokud jsou v databázi dva zákazníci se státem ČR, ve výsledku má být jen jednou ČR. Z tabulky zákazníků se vytahují státy do roletového menu, proto se tam žádný stát nesmí opakovat. Neřešte, že návrh databáze není nejlepší. Já jsem to nevymyslel. Chci se ale zeptat. Nešlo by to napsat takhle?
DECLARE custstatecursor CURSOR FOR
SELECT state FROM customer
GROUP BY state;
V SQL si příliš jistý nejsem, proto se ptám. Nevidím ale důvod, proč bych nejprve měl vybrat státy, které jsou v databázi jednou a pak je sloučit se státy které jsou tam vícekrát. Má to nějaký vyšší smysl, který v tom nevidím, nebo je to tak složitě napsané jen pro zmatení nepřítele?