acrescentar uma linha

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

pessol.. boa tarde
eu estou com o seuginte problema
eu estou usando o seguinte select

Selecionar tudo

select y.nome
     , horas_prev
     , horas_trab
     , saldo
     , TOTAL
  from (select x.nome
             , rpad(pk_hora.fkg_masc_hora_hora(pk_hora.fkg_min_hora(x.hrs_prev)), 10) horas_prev
             , rpad(pk_hora.fkg_masc_hora_hora(pk_hora.fkg_min_hora(x.hrs_trab)), 10) horas_trab
             , rpad(pk_hora.fkg_masc_hora_hora(pk_hora.fkg_min_hora((hrs_trab - hrs_prev))), 10) saldo
             , rpad(decode(lead(x.nome, 1) over (order by nome), null, sum(hrs_trab) over (order by nome)), 10) TOTAL
             , decode(lead(x.nome, 1) over (order by nome), null, 'F') final
          from (select us.nome
                     , pk_soff9082.fkg_horas_prev_period(to_date('01/05/2008', 'dd/mm/yyyy'), to_date('31/05/2008', 'dd/mm/yyyy')) hrs_prev
                     , sum(hr_fim - hr_ini) hrs_trab
                  from sf_apont_diario sa
                     , usu us
                 where us.usu_id = sa.usu_id
                   and sa.usu_id in (395, 226)
                   and dia >= to_date('01/05/2008', 'dd/mm/yyyy')
                   and dia <= to_date('31/05/2008', 'dd/mm/yyyy')
                 group by us.nome) x
                 ) y
e me retorna isso

Selecionar tudo

NOME                                                         HORAS_PREV HORAS_TRAB SALDO      TOTAL
------------------------------------------------------------ ---------- ---------- ---------- ----------
DESENVCNBR                                                   170:00     170:00     0:00
LUCAS SAMPAIO DE SOUZA                                       170:00     169:14     -0:46      20354
mais o que eu quero na verdade é que o valor da coluna total apareca na coluna saldo... mais embaixo.. entenderam ??
o resultado ficaria deste modo

Selecionar tudo

NOME                                                         HORAS_PREV HORAS_TRAB SALDO
------------------------------------------------------------ ---------- ---------- ----------
DESENVCNBR                                                   170:00     170:00     0:00
LUCAS SAMPAIO DE SOUZA                                       170:00     169:14     -0:46
                                                                                   ---------
                                                                                   20354
alguém sabe ??

Obrigado...
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

aoww....
deu certo

fiz um UNION ALL =D

vlwww
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

Pessoal... agora tem outro problema....
alguém sabe se tem como eu fazer isso mais sem o UNION ALL ??
porque senao minha query vai fica mtooooooooooooooooooooo grande e vai usa muito recurso do banco...

=D
grato...
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Será que não vale a pena somar isso na aplicação ?
(como são poucas linhas, talvez vale a pena ir guardando numa variavel a soma)... é uma idéia...
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

aham.... mais é qui eu não gosto de usa o reports =X
sempre quando eu mexo nele dá alguma coisa de errado...
então eu tento deixar tudo qui eu puder num select só hehehehehe....
mais parece qui vou ter qui fazer do jeito mais fácil mesmo =/ qui é mexendo no reports =D

mais são bastante linhas sim.... vou colocar um sum nas linhas e já era mesmo...
muito obrigado...
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 12 visitantes