» »

Seštevanje vrednosti v SQL

Seštevanje vrednosti v SQL

brinovcek ::

Pozdravljeni.
Izdelujem eno poizvedbo, ki jo bom potem uporabil za pivot tabelo, ki bi mi prikazovala število delovnih ur na posameznem projektu, za posamezen datum, to se pravi: tabela ima za y koordinato datum dela, za x projekt in z kordinato ki vsebuije število ur na projektu za tisti dan. Slednje sem poskušil že rešiti vendar sem prišel do naslednjega problema. Če imam na nekem projektu več različnih del, ki jih opravljam oz opravlja nek delavec potem mi tabela pokaže le zadnjo storitev, ki jo je delavec na tisti dan naredil, vendar pa bi jaz rad da bi se vrednosti vseh del ki jih je delavec opravil nekega datuma na projektu seštele in da bi se mi prikazala le sum vrednost. Zanima me, če je kdo že kaj podobnega delala in kakšna bi bila rešitev mojega problema. Moja dosedanja koda poizvedbe pa je :

SELECT Projekt.Delovni_nalog, Storitve.Naziv, Aktivnosti.Ure, Aktivnosti.Datum, Delavec.ID_Delavca
FROM Storitve INNER JOIN (Projekt INNER JOIN (Delavec INNER JOIN Aktivnosti ON Delavec.ID_Delavca = Aktivnosti.ID_Delavca) ON Projekt.ID_Projekta = Aktivnosti.ID_Projekta) ON Storitve.ID_Storitve = Aktivnosti.ID_Storitve
WHERE (((Delavec.ID_Delavca)=[@id]));

ta-mau ::

Probaj pogledat kaj grupirne in agregacijske funkcije.

Če prav vidim bi dobil v tvojem primeru delavce in njihove ure na določenem projetku na sledeč način:

SELECT Aktivnosti.ID_Projekta,Aktivnosti.ID_delavca, sum(Aktivnosti.Ure) AS 'Skupno st.ur'
FROM Aktivnosti
GROUP BY Aktivnosti.ID_Projekta,Aktivnosti.ID_delavca

V tem primeru boš dobiš dobil pogrupirano tabelo kolko ur je posamezen delavec naredu na kterem projektu. Je pa tko da tisti parametri ki nastopajo v select stavku morajo bit obvezno prisotni tudi v group by. Če želiš naknadno delat še kakšne omejitve nad skupinami (npr. da hočeš videt kter delavec je delal na projektu več kot x ur) uporabiš uperacijo HAVING. Za selekcijo določenga delavca uporabiš WHERE.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[SQL] Pohitritev izpisa

Oddelek: Programiranje
252915 (1814) kuall
»

Podatkovne baze - SQL enostavne poizvedbe

Oddelek: Programiranje
72063 (1656) galu
»

SQL poizvedba

Oddelek: Programiranje
152166 (1676) borchi
»

[MySql] obratno od DISTINCT

Oddelek: Programiranje
101452 (1270) frudi
»

SQL vprašanje

Oddelek: Izdelava spletišč
302667 (2230) jerneju

Več podobnih tem