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?
case v MSSQL
Moderátor: Mods_senior
-
d1amond
- člen HW spec týmu
- Příspěvky: 16119
- Registrován: 26 kvě 2008 10:14
- Bydliště: České Budějovice
case v MSSQL
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Chcete si nechat sestavit nový počítač?
-
d1amond
- člen HW spec týmu
- Příspěvky: 16119
- Registrován: 26 kvě 2008 10:14
- Bydliště: České Budějovice
Re: case v MSSQL
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
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
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Chcete si nechat sestavit nový počítač?
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek
