
Pomoc s sql příkazem
Zdravím mám problém se sestavením sql příkazu...
příkaz:
select
zamestnanci.jmeno,zamestnanci.oc,sum(platy.vyplata ) as Celkem,
avg(select vyplata from platy where datum LIKE '%"+05+"') as prumer
from platy inner join zamestnanci on platy.oc = zamestnanci.oc where platy.datum='0501'
GROUP BY zamestnanci.oc,zamestnanci.jmeno
tato stať je špatná: avg(select vyplata from platy where datum LIKE '%"+05+"') as prumer
- Má vybrat ke každému uživateli průměrný výdělek pro daný rok
Děkuji za každou radu
aspoň trochu učesané přes CODE (touchwood)
z popisu je to dost tazke urcit co mas v tabulkach, ake maju struktury a co chces dosiahnut. Tvoje query by tiez chcelo zoptimalizovat, lebo pisat to vsetko do riadku je neprehladne.
Nieco som napisal, ale neviem ci je to presne to co potrebujes.
ak to nie je to co hladas tak skus dat aj strukuru tabuliek a nejaky priklad dat, ktore tam mas a co z nich chces ziskat.
Jak jsi napsal tak to udělá průměr jenom v měsíci lednu a roku 05. Tím se mi ruší to, že udělám průměr za celý rok...
Mám dvě tabulky:
platy - id, datum, oc, hmrzda, vyplata
zamestnanci- id, kod, oc, jmeno, profese, datum, plat
utvar - id, kod, vedouci, plpocet
Příkazem potřebuji vybrat všechny útvary a k nim jméno vedoucí, oc vedoucího, počet zaměstnanců, celkem výplata pro zaměstnance v útvaru v zadaném měsici, průměr platu pro zadaný rok
tučné údaje jsou pro měsic where="0105" and p.datum Like '%"+05"'
PS: tím pádem příkaz co jsem poslal je celý špatně...
dvě rozdílné podmínky musíš řešit dvěma subselecty.
edit: Subselect
a nejake data z tabuliek by sem neslo dat?
co to je za divnu podmienku datum = "0105" a datum like '%"+05"'?
co znamena plpocet?
uz teraz ti ale viem povedat, ze si budes musiet spravit viacero view, ktore potom pospajas. Cisto len jednym selectom to nespravis.
to jsou podmínky, které pochopíš z popisu co jsem napsal
05 = rok 2005
0105 = leden 2005