Si mira mi consulta original es esta:
Código SQL:
Ver originalSELECT D.Art_id, D.Detalle_Cantidad, D.Detalle_Costo_Unitario , CASE isnull(O.Fecha_Desde,0) WHEN 0 THEN 0 ELSE 3 END Valor
FROM Orden_Loc_Detalle D WITH(NoLock) ,
Com_Ofertas O WITH(Nolock)
WHERE D.Emp_id = 1
AND D.Orden_id = 29279
AND D.Suc_id = 2
AND D.Detalle_Envio_Prov = 'si'
AND O.Emp_id =* D.Emp_id
AND O.Suc_id =* D.Suc_id
AND O.Art_id =* D.Art_id
AND O.Prov_id = 316
AND CONVERT(VARCHAR(10),Getdate(),112) BETWEEN
CONVERT(VARCHAR(10),O.Fecha_Desde,112) AND
CONVERT(VARCHAR(10),O.Fecha_Hasta,112)
ORDER BY Valor
Entonces como pueden ver tengo asi "O.Emp_id =* D.Emp_id", lo que hice fue quitar el =* y poner RIGHT JOIN y quedo asi:
Código SQL:
Ver originalSELECT D.Art_id, D.Detalle_Cantidad, D.Detalle_Costo_Unitario , CASE isnull(O.Fecha_Desde,0) WHEN 0 THEN 0 ELSE 3 END Valor
FROM Com_Ofertas O WITH(Nolock)
RIGHT OUTER JOIN Orden_Loc_Detalle D WITH(NoLock)
ON O.Emp_id = D.Emp_id AND O.Suc_id = D.Suc_id AND O.Art_id = D.Art_id
WHERE D.Emp_id = 1
AND D.Orden_id = 29279
AND D.Suc_id = 2
AND D.Detalle_Envio_Prov = 'si'
AND O.Prov_id = 316
AND CONVERT(VARCHAR(10),Getdate(),112) BETWEEN
CONVERT(VARCHAR(10),O.Fecha_Desde,112) AND
CONVERT(VARCHAR(10),O.Fecha_Hasta,112)
ORDER BY Valor
Entonces como ven tengo los mismo parametros y todo similar, entonces cuando ejecuto la consulta original si me trae datos pero la que he modificado ya no, hasta he llegado a pensar que la original esta mal y por ende al actualizarla ya no trae nada