Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

felipejose

quantidade de dias entre duas datas

Recommended Posts

Bom dia, pessoal.

 

Lá vem eu com duvidas novamente. Mas, o forum já me ajudou muito diretamente e indiretamente (pesquisas).

 

Minha dúvida é a seguinte:

 

Tenho uma tabela com a seguinte estrutura:

 

 

PEDIDO

 

Codigo

Pedido

Cliente

Cod_Item

Data

 

Possuo vários pedidos para um mesmo cliente. E por diversas vezes o mesmo cliente compra o mesmo pedido.

 

Preciso fazer uma estatística de quantos dias o cliente levou para efetuar um pedido com o mesmo item.

Exemplo:

 

select * from pedido

 

CODIGO PEDIDO CLIENTE COD_ITEM DATA

1 1 1 1 01/10/2013

2 2 1 1 05/10/2013

 

O relatório eu quero que saia assim:

 

CLIENTE ITEM DIAS

1 1 4

 

Alguém pode me ajudar.

 

Grato.

 

Felipe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em Oracle a subtração de duas datas dá a diferença em dias ou fração de dia.

 

Um join com mesma tabelacdeve resolver o problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Motta.

 

Cara... talvez eu exemplifiquei demais.

Mas a estrutura das tabelas é a seguinte:

 

PEDIDO ITEM_PEDIDO ITEM

 

CODIGO CODIGO CODIGO

PEDIDO SEQUENCIA DESCRICAO

CLIENTE PEDIDO

DATA COD_ITEM

 

Não estou conseguindo fazer o JOIN. Acredito estar fazendo tudo errado.

Acredito que eu tenho que usar o decode ou case para verificar se há mais de dois. Mas não estou conseguindo nem fazer a diferença de dias nem a condição.

 

Eu faço um subselect dentro do case para verificar se há mais de um pedido com o mesmo item?

 

Estou todo perdido... rs...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma solução

 

1-Faça uma query que faça o join PEDIDO / I TEM_PEDIDO / ITEM

2-Crie uma view desta query

3-Faça um join desta view com ela mesma , ligue CLIENTE = CLIENTE e PEDIDO <> PEDIDO e ITEM = ITEM E ITEM = "ITEM BUSCADO'

__3.1 - terá os itens iguais comprados em pedidos diferentes

 

ideia básica, precisa ser depurada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma solução

 

1-Faça uma query que faça o join PEDIDO / I TEM_PEDIDO / ITEM

2-Crie uma view desta query

3-Faça um join desta view com ela mesma , ligue CLIENTE = CLIENTE e PEDIDO <> PEDIDO e ITEM = ITEM E ITEM = "ITEM BUSCADO'

__3.1 - terá os itens iguais comprados em pedidos diferentes

 

ideia básica, precisa ser depurada

 

Motta... muito obrigado...

realmente seria uma ótima idéia e iria facilitar muito. Mas não posso criar views nesta base... alguma outra sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use o slect como uma tabela virtual, daria no mesmo que a view

 

 

select *
from
(select ...) tabela1,
(select ...) tabela2
where ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.