Duda crear grupos con numero maximo de registros
Publicado por Alvaro (3 intervenciones) el 04/09/2013 13:13:51
Buenas,
Buenos días a todos, espero que alguien me pueda ayudar con esta consulta.
Estoy intentando separar una consulta agrupada por un numero maximo de registros permitidos.
la consulta es la siguiente:
SELECT TOP (100) PERCENT MIN(dbo.DetallesMtos.id_manifiesto) AS Min_manifiesto, dbo.Pedidos.prov_pedido, dbo.Pedidos.imp_pedido,
dbo.Pedidos.tdecl_pedido, dbo.Pedidos.pproced_pedido, dbo.Pedidos.vendedor_pedido, dbo.Pedidos.divisa_pedido,
dbo.DetallesPedidos.NumCambio_detalle, dbo.DetallesPedidos.incoterm_detalle, dbo.DetallesPedidos.natt_detalle, 'Pendiente' AS P,
dbo.Manifiestos.LMercD_mto, COUNT (dbo.DetallesMtos.id_Partida) as NumRegistros
FROM dbo.Pedidos RIGHT OUTER JOIN
dbo.DetallesPedidos ON dbo.Pedidos.id_Pedido = dbo.DetallesPedidos.id_Pedido RIGHT OUTER JOIN
dbo.DetallesMtos ON dbo.DetallesPedidos.id_Pedido = dbo.DetallesMtos.id_pedidoMto AND
dbo.DetallesPedidos.id_Detalle = dbo.DetallesMtos.id_DetalleMto LEFT OUTER JOIN
dbo.Manifiestos ON dbo.DetallesMtos.id_manifiesto = dbo.Manifiestos.id_Mto
WHERE (dbo.DetallesMtos.estadoMto = 'I5')
GROUP BY dbo.Pedidos.prov_pedido, dbo.Pedidos.imp_pedido, dbo.Pedidos.tdecl_pedido, dbo.Pedidos.pproced_pedido, dbo.Pedidos.divisa_pedido,
dbo.DetallesPedidos.NumCambio_detalle, dbo.DetallesPedidos.incoterm_detalle, dbo.DetallesPedidos.natt_detalle, dbo.Manifiestos.LMercD_mto,
dbo.Pedidos.vendedor_pedido, dbo.Pedidos.prov_pedido
ORDER BY Min_manifiesto
Como pueden ver la ultima columna es la cuenta del total de detalles de cada grupo.
Aca un pantallazo del resultado
El problema es que no deberia tener grupos con mas de 5 registros, por lo que quiero que me los separe. Es decir un grupo de 5 otro de 4 y el ultimo igual que esta
El resultado seria el que ven la imagen
Gracias por vuestra ayuda
Buenos días a todos, espero que alguien me pueda ayudar con esta consulta.
Estoy intentando separar una consulta agrupada por un numero maximo de registros permitidos.
la consulta es la siguiente:
SELECT TOP (100) PERCENT MIN(dbo.DetallesMtos.id_manifiesto) AS Min_manifiesto, dbo.Pedidos.prov_pedido, dbo.Pedidos.imp_pedido,
dbo.Pedidos.tdecl_pedido, dbo.Pedidos.pproced_pedido, dbo.Pedidos.vendedor_pedido, dbo.Pedidos.divisa_pedido,
dbo.DetallesPedidos.NumCambio_detalle, dbo.DetallesPedidos.incoterm_detalle, dbo.DetallesPedidos.natt_detalle, 'Pendiente' AS P,
dbo.Manifiestos.LMercD_mto, COUNT (dbo.DetallesMtos.id_Partida) as NumRegistros
FROM dbo.Pedidos RIGHT OUTER JOIN
dbo.DetallesPedidos ON dbo.Pedidos.id_Pedido = dbo.DetallesPedidos.id_Pedido RIGHT OUTER JOIN
dbo.DetallesMtos ON dbo.DetallesPedidos.id_Pedido = dbo.DetallesMtos.id_pedidoMto AND
dbo.DetallesPedidos.id_Detalle = dbo.DetallesMtos.id_DetalleMto LEFT OUTER JOIN
dbo.Manifiestos ON dbo.DetallesMtos.id_manifiesto = dbo.Manifiestos.id_Mto
WHERE (dbo.DetallesMtos.estadoMto = 'I5')
GROUP BY dbo.Pedidos.prov_pedido, dbo.Pedidos.imp_pedido, dbo.Pedidos.tdecl_pedido, dbo.Pedidos.pproced_pedido, dbo.Pedidos.divisa_pedido,
dbo.DetallesPedidos.NumCambio_detalle, dbo.DetallesPedidos.incoterm_detalle, dbo.DetallesPedidos.natt_detalle, dbo.Manifiestos.LMercD_mto,
dbo.Pedidos.vendedor_pedido, dbo.Pedidos.prov_pedido
ORDER BY Min_manifiesto
Como pueden ver la ultima columna es la cuenta del total de detalles de cada grupo.
Aca un pantallazo del resultado
El problema es que no deberia tener grupos con mas de 5 registros, por lo que quiero que me los separe. Es decir un grupo de 5 otro de 4 y el ultimo igual que esta
El resultado seria el que ven la imagen
Gracias por vuestra ayuda
Valora esta pregunta
0