Hola de nuevo. Me he encontrado con una consulta SQL cuyo resultado no me lo explico. He reducido el problema hasta llegar a estas dos pequeñas consultas:
Código SQL
[-]SELECT TOP 1 Q.CAMPO FROM
(SELECT CAMPO =
CASE
WHEN EXISTS(aquí va una consulta que devuelve 0 registros)
THEN '03' ELSE '04' END
UNION ALL SELECT '02') Q
Código SQL
[-]SELECT TOP 1 Q.CAMPO
FROM (SELECT CAMPO = '04' UNION ALL SELECT '02') Q
Si ejecutan estas dos instrucciones en su Microsof SQL Management Studio, verán que los resultados son distintos. Yo me imaginaba que el resultado de ambas sería '04', pero solo la segunda consulta devuelve este resultado. Me imagino que la subconsulta altera el resultado, pero... Cual es el motivo? Gracias.