Consulta agrupadas por valores consecutivos

From: Mario Ulloa <pelluco_(at)hotmail(dot)com>
To: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Consulta agrupadas por valores consecutivos
Date: 2015-08-27 00:52:20
Message-ID: COL126-W900665CD6A54E37DE9EAEFC6F0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Estimados tengo una lista de registro la cual debo resumir por valores consecutivos, en este caso, en el numero de cajael resultado que tengo actual de mi sql es:
lote_completo |cod_guia|caja inicial |caja final |count|des_prod 150731012521301|42012 |50434 |50507 |66 |MERLUZA DEL SUR150731012521201|41934 |50498 |50502 |5 |MERLUZA DEL SUR150731012521101|42010 |50503 |50505 |3 |MERLUZA DEL SUR
y lo que se espera es el resultado de mas abajo: debido a que para la guía 42012 hay un salto de la caja 50497 a la 50506.El orden del listado lo dan las cajas de menor a mayor,.
lote_completo |cod_guia|caja inicial |caja final |count|des_prod
150731012521301| 42012| 50434 | 50497| 64 |MERLUZA DEL SUR150731012521201| 41934| 50498 | 50502| 5 |MERLUZA DEL SUR150731012521101| 42010| 50503 | 50505| 3 |MERLUZA DEL SUR150731012521301| 42012| 50506 | 50507| 2 |MERLUZA DEL SUR
la consulta que llevo por el momento es:
Select substring(to_char(packing_acum.lote,'FM9999999999') from 3 for 7) ||case when to_char(packing_acum.cod_prod,'FM9999') < '10' THEN '0'||to_char(packing_acum.cod_prod,'FM9999') ELSE to_char(packing_acum.cod_prod,'FM9999')end || to_char(packing_acum.cod_pesaje,'FM99999999')||'0'||to_char(packing.tipo,'FM9999') as lote_completo,m_pesaje.cod_guia,
min(packing_acum.corr),max(packing_acum.corr),count(packing_acum.corr),producto.des_prod ,case when packing.tipo = 1 THEN 'ENFRIADO REFRIGERADO' ELSE 'CONGELADO' end as estado_fresco_o_congelado
From m_pesaje inner join ( producto inner join (packing inner join packing_acum on packing.cod_packing = packing_acum.cod_packing) on packing_acum.cod_prod = producto.cod_prod) on packing_acum.cod_pesaje = m_pesaje.cod_pesaje where packing_acum.estado = 5668 and packing_acum.cod_prod <> 0 group by lote_completo, m_pesaje.cod_guia, producto.des_prod,estado_fresco_o_congelado,packing_acum.lote
order by min(packing_acum.corr),max(packing_acum.corr)
espero se entiendo, muchas gracias.,

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message mauricio pullabuestan 2015-08-27 15:14:21 Saber cuantas tablas dependen de otra tabla
Previous Message Mario Ulloa 2015-08-27 00:48:23 Consulta agrupadas por valores consecutivos