Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/02/2014, 11:31
TonyBoy
 
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Consulta con resultado basado en una condicion

Como no tengo la consulta previa, solo se me ocurre hacerlo de la siguiente manera. copia y pega para probar y aplicarlo a tu codigo.

Código SQL:
Ver original
  1. DECLARE @inventario AS TABLE(
  2. id INT IDENTITY(1,1),
  3. NodeParte VARCHAR(25),
  4. EntryNo INT,
  5. FechaReg datetime,
  6. Cantidad INT
  7. )
  8. DECLARE @Nuevoinventario AS TABLE(
  9. id INT IDENTITY(1,1),
  10. NodeParte VARCHAR(25),
  11. EntryNo INT,
  12. FechaReg datetime,
  13. Cantidad INT
  14. )
  15.  
  16. DECLARE
  17. @c INT = 0,
  18. @currentID INT = 1,
  19. @LIMIT INT
  20.  
  21. INSERT INTO @inventario
  22. SELECT
  23. 71199051762, 530647, '2013/10/29', 6
  24. UNION
  25. SELECT 71199051762, 540517, '2013/12/10', 1
  26. UNION
  27. SELECT
  28. 71471291604, 541501, '2013/12/16', 14
  29. UNION
  30. SELECT
  31. 71471291604, 546111, '2014/01/07', 97
  32. UNION
  33. SELECT
  34. 71471544475,518581,'2013/09/07', 12
  35. UNION
  36. SELECT
  37. 71471544475,536419,'2013/11/23',1
  38. UNION
  39. SELECT
  40. 11121740065 , 531418 , '2013/10/31' , 1
  41. UNION
  42. SELECT
  43. 11121740065,531407,'2013/10/31',1
  44. UNION
  45. SELECT
  46. 11127507217 , 544866 , '2013/12/31' , 2
  47. UNION
  48. SELECT
  49. 11127507217 , 544867 , '2013/12/31' , 2
  50. UNION
  51. SELECT
  52. 11129070990 , 542506 , '2013/12/19' , 4
  53. UNION
  54. SELECT
  55. 11129070990 , 549891 , '2014/01/23' , 4
  56.  
  57. SET @LIMIT = (SELECT COUNT(*) FROM @inventario)
  58.  
  59.  
  60. WHILE @currentID <= @LIMIT
  61.     BEGIN
  62.         INSERT INTO @Nuevoinventario
  63.         SELECT  TOP 1 NodeParte,EntryNo,FechaReg,Cantidad
  64.         FROM @inventario
  65.         WHERE id = @currentID AND NodeParte NOT IN(SELECT NodeParte FROM @Nuevoinventario)
  66.         ORDER BY FechaReg ASC
  67.         SET @currentID = @currentID + 1
  68.     END
  69.  
  70. SELECT * FROM @Nuevoinventario