Hola, soy nuevo en el foro y necesito ayuda con una consulta. El caso es q esta consulta que hice al principio funciona correctamente:
select distinct H.IdArticu
from Historico H
left join Articu A on A.IdArticu = H.IdArticu
where a.StockActual <>
(select top 1 StockA from Historico H2
where (H2.idArticu = H.IdArticu)
order by h2.Fecha Desc)
Pero como tngo que unir varias consultas con UNION ALL y ordenarlas despues, por lo visto SQL Server no permite poner ningún order by en las consultas (no se porque). Asi que hice la misma consulta sin el ORDER BY
select distinct H.IdArticu, a.Descripcion, a.StockActual, 0, 0, a.Puc, a.Pvp
from Historico h
left join Articu A on A.IdArticu = h.IdArticu
where a.StockActual <>
(select top 1 h2.StockA from Historico h2
where (h2.idArticu = h.IdArticu)
and h2.Fecha=(select MAX(h3.fecha) from Historico h3
where h3.IdArticu=h.IdArticu))
Y no se pq, pero no me saca exactamente los mismos registros, me estoy volviendo loco buscando lo q falla. Alguien sabe donde puede estar el fallo? Gracias de antemano