matinha 0 Denunciar post Postado Setembro 16, 2009 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
matinha 0 Denunciar post Postado Setembro 16, 2009 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
Motta 645 Denunciar post Postado Setembro 16, 2009 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
matinha 0 Denunciar post Postado Setembro 16, 2009 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
Motta 645 Denunciar post Postado Setembro 16, 2009 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