Narazil jsem na výbornou syntaktickou pomůcku v MySQL, která mi okamžitě začala zjednodušovat život. Stává se mi totiž, že potřebuji s hodnotou jednoho sloupce pracovat v jiném sloupci. Při použití standardních aliasů vytvořených s pomocí AS však narážím na problém.
Následující metoda představuje přímočarý postup, který však není funkční.
SELECT (1 + 1) as soucet, soucet + 1
Databáze u druhého sloupce ukončí provádění dotazu s tím, že nezná soucet, i když se jedná o alias předcházejícího sloupce.
Kýženého efektu dosáhneme díky proměnným. Těm se přiřazují hodnoty zápisem @jmeno:=hodnota. Aktuálně uchovávaný údaj vrátí @jmeno. Výše uvedený příklad by po nasazení proměnných vypadal takto:
SELECT @soucet:=(1 + 1) as soucet, @soucet + 1
Rázem získáváme číslo 2 a v druhém sloupci správný součet 3.