Archiv pro štítek: SELECT

Proměnné v MySQL aneb používáme alias v SELECT dotazu

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.

MySQL - proměnné