
Quedarme con el dato del ultimo registro
Publicado por Patricia (5 intervenciones) el 22/09/2016 22:41:36
Buenas noches, quería pediros ayuda porque tengo que sacar unos datos para ma;ana y no doy con la tecla.
Os pongo en contexto. Tengo una tabla la cual en una de las columnas tengo valores a NULL (StandarCost). Quiero que ese valor NULL se quede con el valor que tiene el máximo StandarCost. He intentado con cross apply y no me funciona.
Os pongo un ejemplo>
select b.*, a.StandardCost
from dbo.prueba b
cross apply (select top 1* from dbo.prueba
where productId=b.ProductID
order by StandardCost desc) a
Los valores reales son estos
ProductId StandardCost
707 12.0278
707 13.8782
707 NULL
708 12.0278
708 13.8782
708 NULL
Los valores que me salen son estos
ProductId StandardCost StandardCost
707 12.0278 13.8782 Necesito que sea 12.0278
707 13.8782 13.8782 Necesito que sea 13.8782
707 NULL 13.8782 Necesito que sea 13.8782
708 12.0278 13.8782
708 13.8782 13.8782
708 NULL 13.8782
EStoy trabajando con SQL Server Managament Studio 2012
Os pongo en contexto. Tengo una tabla la cual en una de las columnas tengo valores a NULL (StandarCost). Quiero que ese valor NULL se quede con el valor que tiene el máximo StandarCost. He intentado con cross apply y no me funciona.
Os pongo un ejemplo>
select b.*, a.StandardCost
from dbo.prueba b
cross apply (select top 1* from dbo.prueba
where productId=b.ProductID
order by StandardCost desc) a
Los valores reales son estos
ProductId StandardCost
707 12.0278
707 13.8782
707 NULL
708 12.0278
708 13.8782
708 NULL
Los valores que me salen son estos
ProductId StandardCost StandardCost
707 12.0278 13.8782 Necesito que sea 12.0278
707 13.8782 13.8782 Necesito que sea 13.8782
707 NULL 13.8782 Necesito que sea 13.8782
708 12.0278 13.8782
708 13.8782 13.8782
708 NULL 13.8782
EStoy trabajando con SQL Server Managament Studio 2012
Valora esta pregunta


0