IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: SQL příkaz - výrobní termín

Aktivity
Avatar
Peca
Člen
Avatar
Peca:17.5.2018 10:18

Ahoj,

chtěl jsem se zeptat, jak by mohl vypadat příkaz - "jestli je výrobní termín použij výrobní pokud není použij potvrzený"

Děkuji za odpověď.

 
Odpovědět
17.5.2018 10:18
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:17.5.2018 10:52

To zalezi od databaze. Jestli teda spravne chapu, co potrebujes, moc jsi to nevysvetlil.

SELECT vyrobni || potvrzeny AS x -- spojovani retezcu oracle
SELECT CONCAT(vyrobni, potvrzeny) AS x -- spojovani retezcu mysql
SELECT CASE WHEN LENGTH(`desc`)>40 THEN CONCAT(SUBSTRING(`desc`,1,40),'...') ELSE `desc` END as `desc` -- neco jako if else, asi tam je i if else
 
Nahoru Odpovědět
17.5.2018 10:52
Avatar
plelovsky
Člen
Avatar
plelovsky:17.5.2018 11:04
COALESCE(VyrobniTermin, PotvrzenyTermin)

https://cs.wikipedia.org/…_koalescence

 
Nahoru Odpovědět
17.5.2018 11:04
Avatar
Peca
Člen
Avatar
Odpovídá na Peter Mlich
Peca:17.5.2018 11:28

Omlouvám se. Zkusím to vysvětlit lepe. Mám dvě tabulky jedna je "požadovaný termín" a druhá "výrobní termín" potřebují aby když je vyplněn "výrobní termín" i "požadovaný termín" aby upřednostnil tabulku, kde je vyplněn "výrobní termín". Pokud není vyplněn "výrobní termín" tak aby bral "požadovaný termín".

Děkuji za odpověď

 
Nahoru Odpovědět
17.5.2018 11:28
Avatar
Odpovídá na Peca
Erik Šťastný:17.5.2018 14:13

Já jako SQL naprostý amatér bych na místo hodin bádání vytáhl z tabulky "požadovaný termín" a "výrobní termín", porovnal v aplikaci a měl hotovo :)

Pokud ti jde o to se ale naučit něco nového se SQL, tak to beru :)

 
Nahoru Odpovědět
17.5.2018 14:13
Avatar
Odpovídá na Peca
Dominik Janák:18.5.2018 1:49

Zkus sem hodit nějakou definici těch "tejblů", ať se můžeme odpíchnout od něčeho reálnýho ;-)

Editováno 18.5.2018 1:50
Nahoru Odpovědět
18.5.2018 1:49
Nesnaž se převyšovat ostatní, ale sám sebe.
Avatar
Peca
Člen
Avatar
Odpovídá na Dominik Janák
Peca:18.5.2018 8:02

tabulka: TabPohybyZbozi
sloupec tabulky: PozadDatDod_X

první SELECT by tedy asi mohl vypadat:
SELECT PozadDatDod_X
FROM TabPohybyZbozi

druhá tabulka: TabPohybyZbozi_EXT
druhý sloupec tabulky : _TerminVyroby

druhý SELECT by asi mohl vypadat
SELECT _TerminVyroby
FROM TabPohybyZbozi_EXT

a teď bych potřeboval nějak vyřešit tu podmínku:
mohla by vypadat nějak takto?

CASE WHEN PozadDatDod_X IS NOT NULL AND WHEN _TerminVyroby IS NOT NULL THEN _TerminVyroby
WHEN _TerminVyroby IS NULL THEN PozadDatDod_X
ELSE _TerminVyroby

Na obrázku zasílám screen sloupců z obou tabulek.

 
Nahoru Odpovědět
18.5.2018 8:02
Avatar
Dominik Janák:18.5.2018 8:44

V jaké databázi to máš? Postgresql, Oracle, MySQL, MSSQL, ...

Zkus použít třeba CASE.

Editováno 18.5.2018 8:46
Nahoru Odpovědět
18.5.2018 8:44
Nesnaž se převyšovat ostatní, ale sám sebe.
Avatar
Peca
Člen
Avatar
Peca:18.5.2018 11:21

databáze je MSSQL,

 
Nahoru Odpovědět
18.5.2018 11:21
Avatar
Odpovídá na Peca
Dominik Janák:19.5.2018 18:52

Až najdu chvilku času kouknu na to :-)

Nahoru Odpovědět
19.5.2018 18:52
Nesnaž se převyšovat ostatní, ale sám sebe.
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 10 zpráv z 10.