• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 

DBS

Started by xxx3, 16.02.2012, 15:10:05

« predchdzajce - alie »

veteran

#175
Quote from: xxx3 on  22.04.2012, 00:47:58
a s dalsou ulohou mi nevies helpnut?

skusal som toto:
select department_name, min(salary)
from hr.employees join hr.departments using (department_id)
where min(salary) >= (select min(salary) from hr.employees where department_id=80 ) group by department_name;


ale pise mi chybu pri tom where min(salary), ze nie je tam povolena ta dunkcia ... a ked ju tam nedam tak mam iny vysledok
Agregačné funkcie nesmú ísť do where - na to je určená klauzula having. Takisto ti tam chýba group by. (beriem späť :))

xxx3

#176
ok, mam to diky :)

xxx3

este s tymto mi nevies heplnut? 11. Vypíšte priezviská tých zamestnancov, ktorí opravovali tie isté autá ako Janko Hrasko.

uz len to mi chyba :)

veteran

Quote from: xxx3 on  22.04.2012, 01:17:58
este s tymto mi nevies heplnut? 11. Vypíšte priezviská tých zamestnancov, ktorí opravovali tie isté autá ako Janko Hrasko.

Spojíš tabuľky zam a asz. No a odtiaľ budeš hľadať takú spz, pre ktorú platí, že auto, ktoré ju nosí, opravoval zamestnanec s menom Janko a priezviskom Hrasko (čiže v subquery musíš zjoinovať opäť zam a asz). Na výpis dáš potom meno a priezvisko, ktoré by mali byť unique.

xxx3

no to mi je jasne, ael ako to zapisem ?

hlavne to, ze auto opravoval zamestnanec janko hrasko

veteran

Quote from: xxx3 on  22.04.2012, 02:30:16
no to mi je jasne, ael ako to zapisem ?

hlavne to, ze auto opravoval zamestnanec janko hrasko
select ....... from ..........
where spz in
(select spz from ........
where ((meno = 'Janko')
and (priezvisko = 'Hrasko')));

xxx3

mi to hodi Janosik a Hrasko ... to je dobre ... Hrasko tam tiez ma byt ?

veteran

Quote from: xxx3 on  22.04.2012, 04:35:39
mi to hodi Janosik a Hrasko ... to je dobre ... Hrasko tam tiez ma byt ?
Jááj, na to som zabudol :) Úplne na koniec (za subquery) ešte má byť napísané and priezvisko not like 'Hrasko'

Raynoko

Dobrovolnik, ktory by mi zrobil zadanie... samozrejme finacna odmena ho neminie....viac info cez spravy

Luk1

ako by ste spravili relacnu z tohoto ?
SELECT meno,priezvisko,
(
SELECT count(t.transakcia_id)
FROM Zamestnanec z, Evidencia e, Transakcia t
WHERE z.zamestnanec_id=e.zamestnanec_id AND e.transakcia_id=t.transakcia_id AND transakcia_nazov LIKE 'Výdaj' AND z.zamestnanec_id=f.zamestnanec_id
)
as "Pocet_vydajov",
(
SELECT count(t.transakcia_id)
FROM Zamestnanec z, Evidencia e, Transakcia t
WHERE z.zamestnanec_id=e.zamestnanec_id AND e.transakcia_id=t.transakcia_id AND transakcia_nazov LIKE 'Príjem' AND z.zamestnanec_id=f.zamestnanec_id
) as "Pocet_prijmov"
FROM Zamestnanec f;

Za slovensky narod bije mi srdce v hrudi.

Wolfdale

Niekto, kto má zadanie byt2.pdfbr

Ešte sme to nedokončili celkom, ale takmer sme už začali.

veteran

Quote from: Wolfdale on  24.04.2012, 21:19:05
Niekto, kto má zadanie byt2.pdfbr
Ja  :D A okrem toho ešte ďalšie tri  ;D

Quote from: Luk1 on  24.04.2012, 19:43:49
ako by ste spravili relacnu z tohoto ?
SELECT meno,priezvisko,
(
SELECT count(t.transakcia_id)
FROM Zamestnanec z, Evidencia e, Transakcia t
WHERE z.zamestnanec_id=e.zamestnanec_id AND e.transakcia_id=t.transakcia_id AND transakcia_nazov LIKE 'Výdaj' AND z.zamestnanec_id=f.zamestnanec_id
)
as "Pocet_vydajov",
(
SELECT count(t.transakcia_id)
FROM Zamestnanec z, Evidencia e, Transakcia t
WHERE z.zamestnanec_id=e.zamestnanec_id AND e.transakcia_id=t.transakcia_id AND transakcia_nazov LIKE 'Príjem' AND z.zamestnanec_id=f.zamestnanec_id
) as "Pocet_prijmov"
FROM Zamestnanec f;

Najprv by som urobil RA pre subqueries (V1, V2) a potom do finálneho výsledku V <--- sigma meno, priezvisko, V1, V2.

Luk1

Caute, mal niekto zadanie banka1 ? Ako ste pls riesili tie zostatky a zosttaok_na_ucte ? Z toho zadania neviem presne urcit ako to ma byt a Telepevska nikdy nie je spokojna :D cize v prilohe jeto zadanie keby niekto chcel nieco navrhnut :D dik

Za slovensky narod bije mi srdce v hrudi.

veteran

Do tabuľky, kde sú informácie o účte, by som do stĺpca zostatok vložil niečo takéto:

počiatočný zostatok - (SELECT SUM(suma_transakcie) FROM ... WHERE id_uctu = ...)

No ale teda subquery v inserte, to je už iné kafíčko... Ech juch...  ap

Luk1

Quote from: veteran on  02.05.2012, 23:24:30
Do tabuľky, kde sú informácie o účte, by som do stĺpca zostatok vložil niečo takéto:

počiatočný zostatok - (SELECT SUM(suma_transakcie) FROM ... WHERE id_uctu = ...)

No ale teda subquery v inserte, to je už iné kafíčko... Ech juch...  ap
jas om to riesil cez trigger ktory pri vkladani do transakcie automaticky upravil zostatok len ona tam chce este zostaty pri kazdej transakcii ci co... aby som tam mal 10 stlpcov ze zostatok dpc

Za slovensky narod bije mi srdce v hrudi.

veteran

Quote from: Luk1 on  02.05.2012, 23:29:56
Quote from: veteran on  02.05.2012, 23:24:30
Do tabuľky, kde sú informácie o účte, by som do stĺpca zostatok vložil niečo takéto:

počiatočný zostatok - (SELECT SUM(suma_transakcie) FROM ... WHERE id_uctu = ...)

No ale teda subquery v inserte, to je už iné kafíčko... Ech juch...  ap
jas om to riesil cez trigger ktory pri vkladani do transakcie automaticky upravil zostatok len ona tam chce este zostaty pri kazdej transakcii ci co... aby som tam mal 10 stlpcov ze zostatok dpc
Triggre Telepovská zakázala  ;D

Takže ona chce mať pri každej transakcii zaevidovaný aktuálny zostatok na účte? No tak potom to treba urobiť opačne, než som napísal:

V tabuľke s transakciami treba urobiť stĺpec akt_zostatok a tam potom vkladať
(SELECT pociatocny_zostatok FROM banka WHERE id_uctu = ...) - zadávaná suma transakcie

orsi

stači ked mam jednu sekvenciu pouzitu? aj ked by sa dalo aj viac, ale tam mam normalne 1,2,3 napisane cisla.

veteran

Quote from: orsi on  03.05.2012, 03:50:37
stači ked mam jednu sekvenciu pouzitu? aj ked by sa dalo aj viac, ale tam mam normalne 1,2,3 napisane cisla.
Záleží od toho, čo tie čísla označujú, či sú primárny kľúč, atď. Ale ak tam máš takú vec, že ti s každým riadkom v tabuľke číslo narastá, mala by tam byť sekvencia.

orsi

okej, takže tak musím pridať hodne veľa sekvencií  :D si ma nepotešil.

esperian

inak nevie niekto kolko casu budeme mat na skuske ??  ???

xxx3

a kolko uloh ma byt ?

veteran

To všetko som mal napísané na nejakom zdrape, ale už ho neviem nájsť :D

Zdá sa mi, že by na to malo byť 60 minút. Počet otázok si nepamätám, ale polovica by mala byť na selecty a druhá polovica z teórie. Dopisovacie otázky na selecty budú viac bodové ohodnotené, ako TiposBingoOtázky. Tiež sa mi dačo marí o 6 dopisovacích selectoch a 6 TiposBingo selectoch.

Viac si už nepamätám, nemám fotopamäť  :D

esperian

tak co som pozeral v archive, tak tam pisali ze
30 uloh

15 teoria + 15 selekty {cca na polovicu na dopisovanie a dalsie na najdenie spravneho z moznosti}

xxx3

ale je to tak, ze polovica bodov je za teoriu a polovca za selecty ? .. len tie selecty, ktore bude treba dopisovat budu viac ohodnotene ako tie, pri ktorych budu moznosti ?

esperian

zda sa mi aj ze tie dopisovacie selekty boli po 4b ale to si teraz niesom isty..