Autor Zpráva
peta
Profil
Potreboval bych vypsat z databaze sumu kreditu pro obor a predmet a celkovou sumu kreditu.

potreboval bych do jednoho pridat navic sloupec kr_all
ktery by se ziskal, kdyby se z puvodniho dotazu smazal posledni radek z group by b.os_cislo, a to:
g.cisoboru
Samozrejme odstranit carku na predchozim radku.
Mohl by mi nekdo rici, jak je treba dotaz upravit? V techto slozitych dotazech uz ztracim prehled, vytvarel jej kolega, ktery tomu take zrovna moc nerozumi a nevim, jak na nej prisel.

Puvodni dotaz vypada takto a je dost slozity, je to PHP kombinovane s Oracle.
$query = "
select b.os_cislo,
a.jmeno,
a.prijmeni,
a.rod_cislo as rod_cislo,
c.standard_rok as rocnik,
f.cisp_kod as program,
g.cisoboru as obor,
sum (d.kredity_dos) as kr,
from osoby a,
studenti b,
studenti_v_roce c,
studenti_na_oboru_v_roce d,
studijni_plany e,
studijni_programy f,
obory g
where a.osobidno = b.osobidno and
b.os_cislo = c.os_cislo and
b.stpridno = f.stpridno and
c.os_cislo = d.os_cislo and
c.rok_platnosti = d.rok_platnosti and
d.stplidno = e.stplidno and
e.oboridno = g.oboridno and
b.stav = 'S' and
c.rok_platnosti = '".$r."' and
c.os_cislo = b.os_cislo and
e.kreditne = 'A' and
c.os_cislo like 'F%'
".($c>0?" AND c.standard_rok = '".$c."' ":'')."
group by b.os_cislo,
a.jmeno,
a.prijmeni,
a.rod_cislo,
c.standard_rok,
f.cisp_kod,
g.cisoboru
having kr < ".$k."
ORDER BY prijmeni ASC, jmeno ASC, rod_cislo ASC, kr ASC, obor ASC, program ASC
";

momentalne mi to vypise tabulku
OS_CISLO JMENO PRIJMENI ROD_CISLO ROCNIK PROGRAM OBOR KREDITY
F507971 Barbora Abelová 812320 / 1123 1 B5341 5341R009 60
F506935 Radka Adamcová 812321 / 4123 2 N7105 7105T001 41
F505658 Alena Adamcový 812321 / 5123 3 B7105 7105R047 40
F506357 Martina Adámková 612311 / 6123 2 B7201 7201R004 72
F507422 Tereza Adámková 812313 / 5123 1 M7504 7504T 13
F507422 Tereza Adámková 812313 / 5123 1 M7504 7504T251 23

a ja bych potreboval, aby to u Tereza Adámková vypsalo na kazdem radku jeste soucet kreditu z obou dvou, nekdy i vice radku.
Kcko
Profil
Hmm prepsat do na JOINY tak by se v tom clovek mozna i vyznal .. takhle ne
peta
Profil
Kcko
Tak to mam stejny problem. Neco se nejak grupuje, je to sice pekne napsane, ale neumim s tim pracovat, ani nevim, kde k tomu dotazu prisel.
Jako, mam vic reseni, muzu to treba poscitat v PHP a pak doplnit sloupec. Je to sice dramaticke a drasticke, ale tez funkcni. Zatim to tak udelam, treba nekdo prijde s necim lepsim. Zatim se mne nechce to prepisovat na joiny, protoze bych si musel vypsdat vsechny tabulky a zjistit, jak se co joinuje.

Pro mne je ted podstatne, ze kdyz
group by b.os_cislo,
a.jmeno,
a.prijmeni,
a.rod_cislo,
c.standard_rok,
f.cisp_kod,
g.cisoboru
...zmenim na
group by b.os_cislo,
a.jmeno,
a.prijmeni,
a.rod_cislo,
c.standard_rok,
f.cisp_kod
... tak mam ten soucet, ale prijdu o deleni na obory. Cili misto:
F507422 Tereza Adámková 812313 / 5123 1 M7504 7504T 13
F507422 Tereza Adámková 812313 / 5123 1 M7504 7504T251 23
mam
F507422 Tereza Adámková 812313 / 5123 1 M7504 36
a ja chci to i to cislo. Resp. si to vymyslel tak ten kolega.
peta
Profil
Tak uz je to pase, neni v tom dotazu vsechno, podle ceho vby se dali ziskat uplne soucty. Takze tim padem to nemuzu porovnavat. Proste si to budou muset udelat devuchy rucne, asi.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0