Estoy ejecutando una consulta de donde yo soy calcular el siguiente valor de uso de la función. El problema es que necesito eliminar las filas que contienen un valor NULL en este «siguiente valor de la columna». Yo no puedo hacer un WHERE NextProductID IS NULL, ya que la columna se calcula con la función de PLOMO.

Ejemplo de código:

SELECT BusinessEntityID, ProductID, LEAD(ProductID) OVER(PARTITION BY BusinessEntityID ORDER BY BusinessEntityID) AS NextProductID
FROM Purchasing.ProductVendor
ORDER BY BusinessEntityID, ProductID

Estoy usando AdventureWorks2014. Cualquier ayuda se agradece!

1 Comentario

  1. 4

    Puedes envolver tu consulta en otro de seleccionar y realizar el filtrado de allí:

    SELECT data.BusinessEntityID, data.ProductID, data.NextProductID
    FROM (
        -- Your original SELECT becomes the "table"
        SELECT BusinessEntityID, ProductID, 
            LEAD(ProductID) OVER(PARTITION BY BusinessEntityID ORDER BY BusinessEntityID) AS NextProductID
        FROM Purchasing.ProductVendor
        ORDER BY BusinessEntityID, ProductID
    ) data
    WHERE data.NextProductID IS NOT NULL   -- perform the filtering you need

Dejar respuesta

Please enter your comment!
Please enter your name here