- Este tópico contém 14 respostas, 4 vozes e foi atualizado pela última vez 12 anos, 8 meses atrás por Itimura.
-
AutorPosts
-
19 de março de 2012 às 11:34 pm #103116ItimuraParticipante
Olá pessoal
Vejam se pode me ajudar, sou iniciante
Tenho vendedores: Vendedor1, Vendedor2, Vendedor3 e Vendedor4
quero fazer uma query que me traga a venda destes vendedores e que eu coloque a data inicial e final da pesquisa e cada dia
Os vendedores devem aparecer em linhas, e os dias em colunas
os parametros para buscar o valor da venda eu ja tenho, mas não sei como colocar os dias em coluna
ajuda?!
obrigado
20 de março de 2012 às 2:44 am #103120Victor ArmbrustMestreOpa,
Segue um exemplo:
set feed off
clear break
col np noprint
col "00" form 099
col "01" form 099
col "02" form 099
col "03" form 099
col "04" form 099
col "05" form 099
col "06" form 099
col "07" form 099
col "08" form 099
col "09" form 099
col "10" form 099
col "11" form 099
col "12" form 099
col "13" form 099
col "14" form 099
col "15" form 099
col "16" form 099
col "17" form 099
col "18" form 099
col "19" form 099
col "20" form 099
col "21" form 099
col "22" form 099
col "23" form 099
col "DIA" form a5select trunc(first_time) np, to_char(first_time,'DD/MM') "DIA",
sum(decode(to_char(first_time,'HH24'),'00',1,0)) "00" ,
sum(decode(to_char(first_time,'HH24'),'01',1,0)) "01" ,
sum(decode(to_char(first_time,'HH24'),'02',1,0)) "02" ,
sum(decode(to_char(first_time,'HH24'),'03',1,0)) "03" ,
sum(decode(to_char(first_time,'HH24'),'04',1,0)) "04" ,
sum(decode(to_char(first_time,'HH24'),'05',1,0)) "05" ,
sum(decode(to_char(first_time,'HH24'),'06',1,0)) "06" ,
sum(decode(to_char(first_time,'HH24'),'07',1,0)) "07" ,
sum(decode(to_char(first_time,'HH24'),'08',1,0)) "08" ,
sum(decode(to_char(first_time,'HH24'),'09',1,0)) "09" ,
sum(decode(to_char(first_time,'HH24'),'10',1,0)) "10" ,
sum(decode(to_char(first_time,'HH24'),'11',1,0)) "11" ,
sum(decode(to_char(first_time,'HH24'),'12',1,0)) "12" ,
sum(decode(to_char(first_time,'HH24'),'13',1,0)) "13" ,
sum(decode(to_char(first_time,'HH24'),'14',1,0)) "14" ,
sum(decode(to_char(first_time,'HH24'),'15',1,0)) "15" ,
sum(decode(to_char(first_time,'HH24'),'16',1,0)) "16" ,
sum(decode(to_char(first_time,'HH24'),'17',1,0)) "17" ,
sum(decode(to_char(first_time,'HH24'),'18',1,0)) "18" ,
sum(decode(to_char(first_time,'HH24'),'19',1,0)) "19" ,
sum(decode(to_char(first_time,'HH24'),'20',1,0)) "20" ,
sum(decode(to_char(first_time,'HH24'),'21',1,0)) "21" ,
sum(decode(to_char(first_time,'HH24'),'22',1,0)) "22" ,
sum(decode(to_char(first_time,'HH24'),'23',1,0)) "23"
from v$loghist
group by trunc(first_time), to_char(first_time,'DD/MM')
order by 1
/Neste select, é mostrado o NUMERO DE REDO LOGS ESCRITOS POR DIA DO MES , separados por Data/Horário.
Serve de exemplo ai pra você…
Abs
Victor DBA20 de março de 2012 às 6:17 pm #103132ItimuraParticipantePoxa obrigado pela resposta, mas eu me confundi no momento de pegar a tarefa com ele (o gerente de vendas)
a real segue a baixo
tenho uma tabela chamada TB_PEDIDOS (tabela armazena dados resumidos de pedidos enviados dos vendedores na rua para a empresa)
nesta tabela TB_PEDIDOS tenho os seguintes campos que usarei
– VENDEDOR: Vendedor1, Vendedor2, Vendedor3, Vendedor4, Vendedor5……..
– DATA_PEDIDO: Data do envio do pedido
– HORA: hora do envio do pedidoPreciso apresentar para o gerente de vendas o ULTIMO horario enviado pelos vendedores em um resumo simples. ELE indicará a data inicial e a data final para pesquisa
A Data deve vir em colunas
Os vendedores em linhasDessa forma ficaria:
VENDEDOR, DIA1, DIA2, DIA3, DIA4, DIA5.. até a Dt final que foi indicad
Vendedor1 5:00 6:00 12:00 18:00…………..
Vendedor2
Vendedor3
Vendedor4
Vendedor5e assim…. não tenho a minima idéia de como começar
alguém pode me ajudar a solucionar? é o primeiro trabalho que ele me pede para fazer, e creio eu que esta valendo uma vaga na equipe de TI dele
Sei fazer alguns relatórios, mas assim dessa forma, to a perigo!!
Obrigado a todos, por favor se não entenderem me de um toque que eu tento refazer!
abraço a todos
20 de março de 2012 às 9:47 pm #103135rmanParticipante@Itimura
O relatório necessariamente precisa estar neste formato ? Digo vendedores em linha e dias em colunas ? Pergunta isso porque os dados não estão armazenados desta forma. É mais fácil listar o vendedor e embaixo todas as datas que tem pedido.
Como você pretende emitir esse relatório ? Você possui algum ferramenta de relatório, como Cristal Report ou iReport. Ou a ideia era formatar pelo sqlplus e imprimir ? 😯 Esse relatório será integrado com um sistema ?
20 de março de 2012 às 10:02 pm #103136ItimuraParticipante[quote=”rman”:2jaztaxs]@Itimura
O relatório necessariamente precisa estar neste formato ? Digo vendedores em linha e dias em colunas ? Pergunta isso porque os dados não estão armazenados desta forma. É mais fácil listar o vendedor e embaixo todas as datas que tem pedido.
Como você pretende emitir esse relatório ? Você possui algum ferramenta de relatório, como Cristal Report ou iReport. Ou a ideia era formatar pelo sqlplus e imprimir ? 😯 Esse relatório será integrado com um sistema ?[/quote]
Olá Rman tudo bem?
Primeiramente muito grato pela leitura do post
Os dados estão na mesma tabela, e necessário que sejam apresentados desta forma ou semelhante
O Gerente de vendas quer analisar entrando com uma data inicial e uma final — Isto será feito por uma rotina no meu sistema que permite criar uma query com dados de entrada representados por 😀 ATA_INICIAL e 😀 ATA_FINAL
ao gerar essa query me transportará os dados em Grid para exportar ao Excell ou PDF
O relatório deve vir com as datas em colunas com o ultimo horario recebido
Na tabela TB_PEDIDOS tenho um campo para data e outro campo para Hora
O campo data esta no formato DATE
O campo Hora esta no formato Numerico(2)
Agradecido pela sua leitura
20 de março de 2012 às 10:26 pm #103137rmanParticipante@Itimura
O grande problema de colocar os dias em colunas é que o relatório terá limitações, ou será manco. Digo isso na hora de imprimir o relatório. E outra, se for realmente colocar os dias em colunas, você terá que fazer um sql dinamico, porque dependendo do filtro das datas que você saberá quantas colunas terá o relatório.
É muito mais fácil trabalhar com o agrupamento de uma ferramenta de relatório, fazendo a quebra por vendedor. O seu sistema é em que linguagem ?
20 de março de 2012 às 11:24 pm #103138ItimuraParticipantese invertemos os parametros?
os vendedores em colunas e os dias em linhas? adianta algo?
o programa é desenvolvido em delph pela PC Sistemas em GO
puxa…
tava confiante que conseguiria ao menos uma idéia preliminar para dar continuidade
mas obrigado
20 de março de 2012 às 11:33 pm #103139rmanParticipante@Itimura
Posta um DESC das tabelas envolvidas e exemplos de registro de cada tabela, e como deve ficar…
21 de março de 2012 às 12:26 am #103141ItimuraParticipante[quote=”rman”:l7jwnfh9]@Itimura
Posta um DESC das tabelas envolvidas e exemplos de registro de cada tabela, e como deve ficar…[/quote]
A tabela é enorme mas as principais colunas dela são
COLUMN TYPE
NUMPEP NUMBER(10)
DATA DATE
CODCLI NUMBER(6)
VENDEDOR NUMBER(4)
DTENTREGA DATE
CODFILIAL VARCHAR2(2)
VLDESCONTO NUMBER(16,3)
HORA NUMBER(2)
MINUTO NUMBER(2)O esquema deve sair assim:
FILTRO DE 01/03/2012 ATÉ 03/03/2012
--colunas
VENDEDOR 01/03/2012 02/03/2012 03/03/2012
--linhas
cod_VEND1 12 16 15
cod_VEND2 11 18 22
cod_VEND3 09 13 17
cod_VEND4 22 14 19os dados geram assim com um select simples
NUMPED DATA CODCLI VENDEDOR DATA CODFILIAL HORA MINUTO
380062 13/09/2006 2010 38 15/09/2006 1 17 59
102058 13/09/2006 14271 100 15/09/2006 1 18 4
107093 14/09/2006 9342 107 18/09/2006 1 17 33
107094 14/09/2006 10993 107 18/09/2006 1 17 33
940045 14/09/2006 9774 94 18/09/2006 1 17 45
430083 14/09/2006 10596 43 18/09/2006 1 17 53veja se clareia para uma ajuda
21 de março de 2012 às 4:57 pm #103151Regis AraujoParticipante@Itimura
Bom dia..
Cara.. de uma pesquisada por PIVOT, creio que isto irá lhe ajudar.. é justamente o que vc quer fazer.. transformar colunas em linhas e linhas em colunas..!!
Eh bem complexo mas dando uma estudada você irá conseguir usar esta funcionalidade…!!!
Abraços..!
21 de março de 2012 às 5:24 pm #103154ItimuraParticipante[quote=”Thunder_Catz”:xsf8fva8]@Itimura
Bom dia..
Cara.. de uma pesquisada por PIVOT, creio que isto irá lhe ajudar.. é justamente o que vc quer fazer.. transformar colunas em linhas e linhas em colunas..!!
Eh bem complexo mas dando uma estudada você irá conseguir usar esta funcionalidade…!!!
Abraços..![/quote]
Grande Thunder_catz!
tudo bem?
sempre grato pela sua ajuda,
vou ja procurar sobre o assunto, vai ser legal pois eu nunca ouvi aomenos falar sobre este assunto, e buscarei sobre o assunto
21 de março de 2012 às 6:34 pm #103157Regis AraujoParticipante@Itimura
Grande Itimura.. heheh..
Opa..Estamos sempre disposto em ajudar..
Cara.. da uma lida neste doc.. acho q atende muito bem a sua necessidade alem de ser bem explicado…
http://www.oracle-developer.net/display.php?id=506
Abraços..!
21 de março de 2012 às 7:01 pm #103161ItimuraParticipante[quote=”Thunder_Catz”:37n2hfw8]@Itimura
Grande Itimura.. heheh..
Opa..Estamos sempre disposto em ajudar..
Cara.. da uma lida neste doc.. acho q atende muito bem a sua necessidade alem de ser bem explicado…
http://www.oracle-developer.net/display.php?id=506
Abraços..![/quote]
Lindo isso heem!
eu achei este: http://www.rstoever.com/2008/06/02/pivo … m-colunas/
mas o seu ta mais completo,
mais uma vez obrigado
21 de março de 2012 às 8:04 pm #103170rmanParticipante@Thunder_Catz
Interessante o PIVOT. Eu já estava pensando em fazer SELECT com SUBSELECT e SQL DINAMICO. 😯
21 de março de 2012 às 10:40 pm #103181ItimuraParticipante[quote=”Thunder_Catz”:10x3sxfb]@Itimura
Grande Itimura.. heheh..
Opa..Estamos sempre disposto em ajudar..
Cara.. da uma lida neste doc.. acho q atende muito bem a sua necessidade alem de ser bem explicado…
http://www.oracle-developer.net/display.php?id=506
Abraços..![/quote]
Thunder….
Meu banco é o 10g…. funciona para ele?!
-
AutorPosts
- Você deve fazer login para responder a este tópico.