Avatar
gorshok
Člen
Avatar
gorshok:

Zdravím,
selektim do tabulky data, v jednom sloupci jsou čísla od 0 do 9, ale potřebují aby se mi místo čišel zobrazoval text: 0 - objednáno, 1- vystaveno, 2 - vyřízeno,... jak to můžu udělat?
Děkuji za odpověď

 
Odpovědět 9. května 13:12
Avatar
Odpovídá na gorshok
Michal Štěpánek:

Možná by pomohla věštecká koule, ne? Co kdybys to trošku rozvedl? Jak vypadá ta tabulka, z čeho bys chtěl ty názvy tahat... ?
Názvy stavů musíš mít někde uložené, nejlépe v jiné tabulce a pak JOINem vytáhnout to, co potřebuješ.

Editováno 9. května 13:43
Nahoru Odpovědět 9. května 13:43
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na gorshok
Michal Haňáček:

Mno, obvykle se "selektí" z tabulky, nikoli do ní. Předpokládám, že to co hledáš je příkaz CASE, který ti pomůže vypsat ty tvoje popisky ... tak že doporučuju následující postup:
1 - prostudovat CASE
2 - označit mi příspěvěk jako řešení
3 - složit báseň ve které mi vyjádříš díky
:D

Nahoru Odpovědět 9. května 14:15
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
gorshok
Člen
Avatar
gorshok:

sorry, ne selektim do ale z tabulky... selektim z tabulky sloupec 'stav', který obsahuje data - čísla od 0 do 9. já ale chci, aby se mi místo čišel zobrazoval text: objednáno, vystaveno, vyřízeno... chtěl jsem to udělat pomoci příkazu if...

select
hd.rada
, hd.stav
, hd.dokl
, hd.ico
, if (select z.stav from dba.gcl3 as z where hd.ico = z.ico and hd.nazev = z.nazev and hd.obchodnik = z.obchodnik) = 1 then z.stav = 'Objednavka' ENDIF as stav_proj
, hd.nazev
, hd.obchodnik
,(select DATEDIFF(day, hd.zalozeno, hd.terminnab)) as rozdildny
from dba.onabhd as hd
join #selrows as s on s.rada = hd.rada and s.dokl = hd.dokl

 
Nahoru Odpovědět 10. května 9:16
Avatar
Odpovídá na gorshok
Michal Haňáček:

A přesně na to se ti bude hodit příkaz CASE o kterém jsem psal výše :)...

Nahoru Odpovědět 10. května 9:22
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Ján Timoranský
Redaktor
Avatar
Ján Timoranský:

Keby si dal join s druhou tabulkou, v ktorej budeš mať tie hodnoty pre 0 až 9? Určite lepšie riešenie ako porovnávanie, just sayin'.

Nahoru Odpovědět 10. května 9:50
Find what you love and let it kill you.
Avatar
Odpovídá na Ján Timoranský
Michal Haňáček:

Trochu se bojím, že takové řešení je dost neefektivní. Existence další tabulky jen kvůli tomu aby tam měl popisky pro hodnoty 0-9 (samozřejmě za předpokladu, že tu " popiskovou" tabulku by nevyužíval pro nic jiného).

Osobně bych nechal tabulku tak jak ji má a ve view pomocí CASE ošetřil ten výpis. Samozřejmě nikdo nevíme jak to tam má s CONSTRAINS tak že tyhle ošetření už si musí myslet sám ...

Nahoru Odpovědět 10. května 9:55
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Odpovídá na Michal Haňáček
Michal Štěpánek:

Ale když bude chtít změnit ten název, tak už to tak jednoduché mít nebude. Pokud použije extra tabulku, tak jen pohodlně změní hodnotu v tabulce a hotovo...

Nahoru Odpovědět 10. května 13:34
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Michal Haňáček:

To rozhodně. Těžko říct co s tím plánuje dále. Vycházel jsem z toho že ty čísla jsou nějaké stavy a neplánuje se změna ze současného

0 - objednáno

bude v budoucnu

0 - vystaveno
Nahoru Odpovědět 10. května 13:56
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Odpovídá na Michal Haňáček
Michal Štěpánek:

Já to bral ze své zkušenosti, když dělám v práci informační systém, po čase zjistím, že se mi některý název nehodí a musím ho nahradit lepším, nebo přidat další... V mé úplně první aplikaci, jsem to měl taky ošetřeno kódem (if 1 -> nazev1...), jenže pak jsem to potřeboval trošku upravit a byl problém... Navíc jsem to musel upravit na mnoha místech. Proto mám raději použití extra tabulky na stavy, ze které pak JOINem tahám názvy...

Nahoru Odpovědět  +1 10. května 15:15
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Michal Haňáček:

I já na "produkci" používám tabulku pro "speciální hodnoty a názvy" kam jsou ukládány tyhle zástupný hodnoty ze všech tabulek. Ale na aplikace typu hello world bohatě stačí ten CASE. Každopádně máš asi pravdu a gorshok by si to asi měl zpracovat pořádně :).

Nahoru Odpovědět  +1 10. května 15:41
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.