TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach

FEI archív 2012/2013 => 2. ročník => Topic started by: Dickenz on 24.03.2013, 04:36:48

Title: DBS ulohy
Post by: Dickenz on 24.03.2013, 04:36:48
Zdravim pls natrafil som na prvy trošku problem s ulohou a to taky že som ani nepochopil čo to vlastne odomna chcu .. : vedel by mi niekto naznačiť co s tou NVL ?..

Vypíšte pre každého zamestnanca - last_name, základný plat, príplatok a reálny plat.
Použite funkciu NVL.

Title: Re: DBS ulohy
Post by: esperian on 24.03.2013, 14:54:34
funkcia nvl ma 2 parametre, prvy parameter pouzijes nazov stlpca, ak sa hodnota v konkretnom riadku v danom stlpci bude rovnat hodnote null tak sa vrati druhy parameter tejto funkcie...

cize budes mat nieco take
, , príplatok a reálny plat.
select NVL(last_name,'NOT FOUND'), NVL(základný_plat,0),NVL(reálny_plat,0) FROM table_name

cize ak nebude vyplnena bunka v niektorom stlpci pre základný_plat , tzn ze je tam hodnota null, vypise sa ti hodnota 0...atd
Title: Re: DBS ulohy
Post by: Dickenz on 24.03.2013, 19:21:04
ok dik moc uz som to pochopil ...
Title: Re: DBS ulohy
Post by: Dickenz on 06.04.2013, 20:36:56
vedel by mi niekto pomoct ako by vyzerala relacna algebra ??:
zistite, koľko treba mesačne na platy zamestnancov, ak berieme do úvahy aj príplatok k platu
select sum(salary + salary*nvl(commission_pct,0))  from hr.employees;
Title: Re: DBS ulohy
Post by: Rajo on 06.04.2013, 22:08:08
vedel by mi niekto pomoct ako by vyzerala relacna algebra ??:
zistite, koľko treba mesačne na platy zamestnancov, ak berieme do úvahy aj príplatok k platu
select sum(salary + salary*nvl(commission_pct,0))  from hr.employees;

V <- F sum(salary +salary*nvl(commission_pct, 0)) (employees)
Title: Re: DBS ulohy
Post by: spili on 10.04.2013, 01:11:09
nevedel by mi niekto pomôcť s relačnou pri tomto nešťastnom selecte ? :D

select substr(l.meno, 7, length(l.meno)) as "Meno",v.nazov
from lekar l,komplet k,vyset v
where ((k.id_lek = 4 and l.idl = 4) or (k.id_lek = 2 and l.idl =2)) and (v.idv = k.id_vys);
Title: Re: DBS ulohy
Post by: veteran on 10.04.2013, 01:51:26
nevedel by mi niekto pomôcť s relačnou pri tomto nešťastnom selecte ? :D

select substr(l.meno, 7, length(l.meno)) as "Meno",v.nazov
from lekar l,komplet k,vyset v
where ((k.id_lek = 4 and l.idl = 4) or (k.id_lek = 2 and l.idl = 2)) and (v.idv = k.id_vys);
Nebude jednoduchšie (a logickejšie) urobiť JOINy tabuliek iným spôsobom (napr. cez USING) a potom do WHERE dať k.id_lek = 4 OR k.id_lek = 2?