04.02.2013, Vladimír Klaus, navštíveno 3567x

MS Access
SQL

Tato funkce vrátí jednu ze seznamu hodnot, dle zadaného indexu – pořadí. Pořadí musí začínat 1. Mějme tedy tabulku objednávek a budeme chtít pro první tři (přesněji řečeno ty tři, jejichž ID = 1, 2 a 3) připravit textové pojmenování pořadí.

SELECT ID, CHOOSE(ID, "první", "druhá", "třetí") AS Poradi
FROM Objednavky

SQL obrázek

Funkce se nám může hodit také v případě, že dostaneme cizí data, v nichž jsou třeba země označeny číslem (ID z číselníku zemí), ale vlastní číselník jako tabulku mít nebudeme. Ukažme si to tedy jen na hypotetickém příkladu.

SELECT Jmeno, CHOOSE(IDZeme, "ČR", "SR", "Polsko", "Maďarsko") AS Zeme
FROM Uchazeci

Pochopitelně je možné a zřejmě i jistější použít příbuznou funkci SWITCH(), protože se pak nebudeme muset spoléhat na souvislou řadu ID začínající 1.