Stránka 1 z 1

case v MSSQL

Napsal: 14 led 2009 10:13
od d1amond
Zdravím, řeším jednu sestavu a nemůžu pohnout s jedním case.
Jde toto (zasvěcení jistě pochopí):
/*
tabulky objednavky, zakkazky

objednavky.cisobjednavka --varchar(10)
zakazky.ciszakazka --varchar(10)
*/

select
objednavky.cisobjednavka,
zakazky.ciszakazka,
case objednavky.cisobjednavka
when is null then zakazky.ciszakazka
else objednavky.cisobjednavka
end as cislo

from objednavky
join zakazky on objednavky -- joinovani je jen ilustrace

Podstatou je, že potřebuji vybrat číslo objednávky a když není zadáno, tak číslo zakázky. Nějak nevím, kde je chyba, protože mi to nechodí:(
Případně, jestli není jiný nápad?

Re: case v MSSQL

Napsal: 15 led 2009 13:11
od d1amond
Tak jsem si to pořešil. Řešení přikládám, kdyby někdo chtěl pomocí CASE nahrazovat v SELECT prázdnou hodnotu za jinou.

case isnull(objednavky.cisobjednavka,'') -- nesjou to uvozovky, ale 2 apostrofy!Je ošetřena jak hodnota null, tak i prázdná hodnota.
when '' then zakazky.ciszakazka
else objednavky.cisobjednavka
end as cislo