¿Cómo puedo excluir filas con un valor null en la columna derivada?

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 Kommentar

  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

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea