Duvidas com SELECT
22/09/2004
0
Eu quero selecionar a soma de uma coluna, mas ela teria q aparecer varias vezes dependendo do tipo de hora
Ex:
Funcionario [color=darkred:573253b18a]Hora Normal [/color:573253b18a][color=blue:573253b18a]Hora Extra [/color:573253b18a][color=green:573253b18a]Hora Adicional [/color:573253b18a]
João da Silva [color=darkred:573253b18a]150,00 [/color:573253b18a][color=blue:573253b18a]225,35 [/color:573253b18a][color=green:573253b18a]50,52 [/color:573253b18a]
Esse select funciona somente para 1 tipo de hora. Tem como fazer para aparecer os outros tipos de hora também?
[b:573253b18a][i:573253b18a][color=red:573253b18a]select sum(HORTOTAL) from cadservicosccapont where idcadtiphoras = ´Hora Normal´[/color:573253b18a][/i:573253b18a][/b:573253b18a]
Ex:
Funcionario [color=darkred:573253b18a]Hora Normal [/color:573253b18a][color=blue:573253b18a]Hora Extra [/color:573253b18a][color=green:573253b18a]Hora Adicional [/color:573253b18a]
João da Silva [color=darkred:573253b18a]150,00 [/color:573253b18a][color=blue:573253b18a]225,35 [/color:573253b18a][color=green:573253b18a]50,52 [/color:573253b18a]
Esse select funciona somente para 1 tipo de hora. Tem como fazer para aparecer os outros tipos de hora também?
[b:573253b18a][i:573253b18a][color=red:573253b18a]select sum(HORTOTAL) from cadservicosccapont where idcadtiphoras = ´Hora Normal´[/color:573253b18a][/i:573253b18a][/b:573253b18a]
Blbacelar
Curtir tópico
+ 0
Responder
Posts
22/09/2004
Djjunior
Dependendo do banco que vc usa vc poderia usar recursos do próprio sgdb como
decode (oracle) ou Case (sql server)
mas um jeito genérico de fazer seria :
select *
from
(select codFunc, sum(HORTOTAL)
from cadservicosccapont
group by codfunc
where idcadtiphoras = ´Hora Normal´) n,
(select codFunc, sum(HORTOTAL)
from cadservicosccapont
group by codfunc
where idcadtiphoras = ´Hora extra´) e,
(select codFunc, sum(HORTOTAL)
from cadservicosccapont
group by codfunc
where idcadtiphoras = ´Hora adicional´) as a
where a.codfunc = e.codfunc and
e.codfunc = n.codfunc
se
decode (oracle) ou Case (sql server)
mas um jeito genérico de fazer seria :
select *
from
(select codFunc, sum(HORTOTAL)
from cadservicosccapont
group by codfunc
where idcadtiphoras = ´Hora Normal´) n,
(select codFunc, sum(HORTOTAL)
from cadservicosccapont
group by codfunc
where idcadtiphoras = ´Hora extra´) e,
(select codFunc, sum(HORTOTAL)
from cadservicosccapont
group by codfunc
where idcadtiphoras = ´Hora adicional´) as a
where a.codfunc = e.codfunc and
e.codfunc = n.codfunc
se
Responder
Clique aqui para fazer login e interagir na Comunidade :)