Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/05/2014, 15:58
marck9106
 
Fecha de Ingreso: abril-2014
Ubicación: Bogota
Mensajes: 14
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Agrupar resultados de una consulta

Hola libras que pena volver a molestar, lo que pasa es que la consulta no me esta arrojando lo que necesito mira, con la consulta sin poner el where:
Código SQL:
Ver original
  1. SELECT
  2. ROW_NUMBER() OVER(PARTITION BY V.ItemCode ORDER BY V.DocDate DESC) AS [Nro], V.ItemCode, B.ItmsGrpCod, V.DocDate
  3. FROM INV1 V
  4. INNER JOIN OITM M ON V.ItemCode=M.ItemCode
  5. INNER JOIN OITB B ON M.ItmsGrpCod=B.ItmsGrpCod

lo agrupe por fecha para que me arroje de la mas reciente a las mas antigua y ps bien me arroja los items con fecha y cada iten enumerado por el row_number asi:

Nro ItemCode ItmsGrpCod DocDate
1 L1-001 EXTRA 115 2014-03-12 00:00:00.000
2 L1-001 EXTRA 115 2014-03-11 00:00:00.000
3 L1-001 EXTRA 115 2014-03-07 00:00:00.000
4 L1-001 EXTRA 115 2014-03-07 00:00:00.000
5 L1-001 EXTRA 115 2014-03-07 00:00:00.000
6 L1-001 EXTRA 115 2014-03-06 00:00:00.000
7 L1-001 EXTRA 115 2014-02-21 00:00:00.000
8 L1-001 EXTRA 115 2014-02-19 00:00:00.000
9 L1-001 EXTRA 115 2014-02-11 00:00:00.000
10 L1-001 EXTRA 115 2014-02-05 00:00:00.000
11 L1-001 EXTRA 115 2014-02-03 00:00:00.000
12 L1-001 EXTRA 115 2014-02-01 00:00:00.000
13 L1-001 EXTRA 115 2014-01-28 00:00:00.000
14 L1-001 EXTRA 115 2014-01-23 00:00:00.000
15 L1-001 EXTRA 115 2014-01-21 00:00:00.000
16 L1-001 EXTRA 115 2014-01-18 00:00:00.000
17 L1-001 EXTRA 115 2014-01-02 00:00:00.000
18 L1-001 EXTRA 115 2013-12-30 00:00:00.000
19 L1-001 EXTRA 115 2013-12-28 00:00:00.000
20 L1-001 EXTRA 115 2013-12-18 00:00:00.000
1 L1-001 NOVEX 115 2014-03-15 00:00:00.000
2 L1-001 NOVEX 115 2014-03-13 00:00:00.000
3 L1-001 NOVEX 115 2014-03-07 00:00:00.000
4 L1-001 NOVEX 115 2014-03-07 00:00:00.000
5 L1-001 NOVEX 115 2014-03-06 00:00:00.000
6 L1-001 NOVEX 115 2014-03-04 00:00:00.000
7 L1-001 NOVEX 115 2014-02-27 00:00:00.000
8 L1-001 NOVEX 115 2014-02-25 00:00:00.000
9 L1-001 NOVEX 115 2014-02-22 00:00:00.000
10 L1-001 NOVEX 115 2014-02-22 00:00:00.000
11 L1-001 NOVEX 115 2014-02-19 00:00:00.000

bueno se supone que si lo condicionaba como me dijiste iba a obtener solo los 5 primeros pero no es asi hize la siguiente consulta :
Código SQL:
Ver original
  1. SELECT *
  2. FROM
  3. (
  4. SELECT
  5. ROW_NUMBER() OVER(PARTITION BY V.ItemCode ORDER BY V.DocDate DESC) AS [Nro], V.ItemCode, B.ItmsGrpCod, V.DocDate
  6. FROM INV1 V
  7. INNER JOIN OITM M ON V.ItemCode=M.ItemCode
  8. INNER JOIN OITB B ON M.ItmsGrpCod=B.ItmsGrpCod) t1
  9. WHERE nro <=5

pero en vez de arrojarme por ejemplo los primeros 5 items de la consulta anterior me arroja esto:

Nro ItemCode ItmsGrpCod DocDate
1 L1-001 EXTRA 115 2014-03-12 00:00:00.000
3 L1-001 EXTRA 115 2014-03-07 00:00:00.000
5 L1-001 EXTRA 115 2014-03-07 00:00:00.000
1 L1-001 NOVEX 115 2014-03-15 00:00:00.000
3 L1-001 NOVEX 115 2014-03-07 00:00:00.000
5 L1-001 NOVEX 115 2014-03-06 00:00:00.000
2 L1-001 VARGA 300 2012-03-22 00:00:00.000
4 L1-001 VARGA 300 2011-06-22 00:00:00.000
1 L1-009166 124 2013-12-07 00:00:00.000
3 L1-009166 124 2013-09-02 00:00:00.000
5 L1-009166 124 2011-06-08 00:00:00.000
1 L10-100001 131 2014-03-19 00:00:00.000
3 L10-100001 131 2014-03-15 00:00:00.000
5 L10-100001 131 2014-03-13 00:00:00.000
1 L10-100002 131 2014-03-12 00:00:00.000
3 L10-100002 131 2014-03-11 00:00:00.000
5 L10-100002 131 2014-02-20 00:00:00.000
1 L10-100003 131 2014-03-19 00:00:00.000
3 L10-100003 131 2014-03-14 00:00:00.000
5 L10-100003 131 2014-03-14 00:00:00.000
1 L10-100004 131 2014-03-12 00:00:00.000
3 L10-100004 131 2014-02-12 00:00:00.000
5 L10-100004 131 2014-02-11 00:00:00.000

si se fijan en la primera consulta el item L1-001 EXTRA tenia muchas ventas casi 20 entonces no se por que solo me arroja 3 de otros solo me arroja 2 o 1 por ejemplo en la primera consulta de este item L10-101821 me arroja estos dos:

Nro ItemCode ItmsGrpCod DocDate
1 L10-101821 155 2011-03-17 00:00:00.000
2 L10-101821 155 2011-03-17 00:00:00.000

pero en la segunda consulta solo me arroja 1 asi :

Nro ItemCode ItmsGrpCod DocDate
2 L10-101820 240 2013-08-30 00:00:00.000
4 L10-101820 240 2013-06-11 00:00:00.000
2 L10-101821 155 2011-03-17 00:00:00.000
2 L10-101822 155 2014-02-27 00:00:00.000

a que se debe esto y como podría solucionarlo, mil gracias por la ayuda

Última edición por gnzsoloyo; 07/05/2014 a las 16:49