Ver Mensaje Individual
  #4  
Antiguo 08-09-2016
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Reputación: 22
fjcg02 Va camino a la fama
Hola ,
Lo primero comentar que no tengo aquí SQLServer.
He estado viendo la ayuda de SQLServer de la función exits, y la usan de diferente manera. En los ejemplos utilizan
Código SQL [-]
SELECT * from TABLA
WHERE
EXITS(....)

y tú la utilizas de otra manera.

Código SQL [-]
SELECT TOP 1 Q.CAMPO 
FROM (SELECT CAMPO = '04' UNION ALL SELECT '02') Q
En este caso, SELECT CAMPO='04' tendrá que devolverte true o false. Es decir, no sé ni cómo te permite hacer una UNION con SELECT ALL, ya que el resultado de la primera select es un campo booleano y la segunda un campo string.
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
En este caso debiera funcionar bien, pero igual que antes, utilizas de forma muy rara la función exits.

Prueba a poner
Código SQL [-]
select case when count(1)>0 then '03' else '04' end as CAMPO
from xxxx( tu consulta)
a ver si tienes el resultado esperado.

Espero haber sido claro.

Saludos
PD: Estaré pendiente de lo que responda el comité de sabios...
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita