Ir para conteúdo

Arquivado

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

matinha

sql para maximo de sucata e max de quantidade produzida por turno

Recommended Posts

olá a todos tenho esta instrução sql que funciona muito bem :) mas só para o turno 1 mas o que eu queria é que calculasse para os 3 turnos que existem...turno 1 , 2 e 3...seria preciso muita mudança??

 

select sum(max(yieldqty)), sum(max(scrapqty))

from z_event

where linenumber= '50402' and shiftnumber = '1'

and (eventtimestamp >= to_date('09.09.2009 00:00:00', 'dd.mm.YYYY hh24:mi:ss'))

and (eventtimestamp <= to_date('09.09.2009 14:00:00', 'dd.mm.YYYY hh24:mi:ss'))

group by ordernumber

 

cumps e obrigado antecipado

 

matinha

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola a todos já consegui alguma coisa:

 

select max(yieldqty), max(scrapqty), shiftnumber

from z_event

where linenumber= '50402' and shiftnumber in (1,2,3)

and (eventtimestamp >= to_date('08.09.2009 00:00:00', 'dd.mm.YYYY hh24:mi:ss'))

and (eventtimestamp <= to_date('08.09.2009 23:59:59', 'dd.mm.YYYY hh24:mi:ss'))

group by ordernumber, shiftnumber

 

mas ainda nao dá como eu quero...

yield scrap shift

3720 35 1

30878 117 1

23657 362 2

30038 1615 3

 

aparece duas linhas com o shift 1 e queria que ele as somasse...mas ao fazer sum..nao dá o que eu quero...alguém sabe como resolver

 

 

cumps

 

matinha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi o que se quer faz um exemplo numérico das tabelas e da saída requerida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola a tabela z_event tem dados como estes:

Eventtimestamp line shift ordernumber Scrap yield

09.09.16 14:43:01,000000000 50402 1 003000052060 5103 -5997

09.09.16 14:40:01,000000000 32012 1 002000242749 100 236

09.09.16 14:40:01,000000000 32012 2 002000242749 50 66133

09.09.16 14:39:16,000000000 32012 3 002000242749 75 401

09.09.16 14:39:16,000000000 32012 3 002000242749 80 3

 

e eu construir um sql que pudesse dar...o maximo do Yield e o maximo da Scrap que se produz por turno, já consegui que ficasse assim:

 

yield scrap shift

3720 35 1

30878 117 1

23657 362 2

30038 1615 3

 

foi com este sql:

select max(yieldqty), max(scrapqty), shiftnumber

from z_event

where linenumber= '50402' and shiftnumber in (1,2,3)

and (eventtimestamp >= to_date('08.09.2009 00:00:00', 'dd.mm.YYYY hh24:mi:ss'))

and (eventtimestamp <= to_date('08.09.2009 23:59:59', 'dd.mm.YYYY hh24:mi:ss'))

group by ordernumber, shiftnumber

 

agora so faltava que os valores do shift 1 se pudessem somar...mas com o SUM tenho que tirar o shiftnumber senao dá-me um erro em relação ao group by

 

cumps e obrigado

 

matinha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um exemplo , não se ligue no que faz a query mas sim no como ela faz a soma, veja se ajuda.

 

SELECT TABLE_NAME,(DATA_LENGTH + NUM_DISTINCT + DEFAULT_LENGTH) SOMA
FROM
(
SELECT TABLE_NAME,DATA_LENGTH,MAX(NUM_DISTINCT) NUM_DISTINCT,MAX(DEFAULT_LENGTH) DEFAULT_LENGTH
FROM   USER_TAB_COLUMNS
GROUP BY TABLE_NAME,DATA_LENGTH
)

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.