Función en sql server que reemplace iff de access
Tengo esta vista es access:
SELECT Activos.Apodo, [Activos]![Apodo] & " " & [Activos]![Activo] & " esta en Smartuns" & (IIf(([Activos]![Activo]="si"),(",está en la " & [Vistas]![Nombre_vistas]),"")) AS Descripcion, Vistas.Id_vistas, Activos.Activo
FROM Vistas RIGHT JOIN Activos ON Vistas.Id_vistas = Activos.id_vista;
Como puedo pasarla a sql server 2005 y que me muestre los mismos datos, ya lo he intentado con EXISTS Y CON CASE:
IF EXISTS (select A.Activo FROM Activos A right JOIN Vistas V ON A.id_vista = V.Id_vistas where A.Activo='si' )
select A.Apodo,A.Apodo+' '+A.Activo+ ' ' +'esta en smartuns, en la '+ V.Nombre_vistas as Descripcion,
V.id_vistas,A.Activo
FROM Vistas V right JOIN Activos A
ON A.id_vista = V.Id_vistas
--where A.Activo='si'
else (select A.Activo FROM Activos A right JOIN Vistas V ON A.id_vista = V.Id_vistas where A.Activo='no' )
select A.Apodo,A.Apodo+' '+A.Activo+ ' ' +'esta en smartuns' as Descripcion,
V.id_vistas ,A.Activo
FROM Vistas V right JOIN Activos A
ON A.id_vista = V.Id_vistas
--where A.Activo='no'
Este es alguna de las filas que genera en access:
Sandra sandra no esta en Smartuns
Alma alma si esta en Smartuns, está en la Vista Sur 1 s
Agradezco a quien me pueda ayudar con este query,
SELECT Activos.Apodo, [Activos]![Apodo] & " " & [Activos]![Activo] & " esta en Smartuns" & (IIf(([Activos]![Activo]="si"),(",está en la " & [Vistas]![Nombre_vistas]),"")) AS Descripcion, Vistas.Id_vistas, Activos.Activo
FROM Vistas RIGHT JOIN Activos ON Vistas.Id_vistas = Activos.id_vista;
Como puedo pasarla a sql server 2005 y que me muestre los mismos datos, ya lo he intentado con EXISTS Y CON CASE:
IF EXISTS (select A.Activo FROM Activos A right JOIN Vistas V ON A.id_vista = V.Id_vistas where A.Activo='si' )
select A.Apodo,A.Apodo+' '+A.Activo+ ' ' +'esta en smartuns, en la '+ V.Nombre_vistas as Descripcion,
V.id_vistas,A.Activo
FROM Vistas V right JOIN Activos A
ON A.id_vista = V.Id_vistas
--where A.Activo='si'
else (select A.Activo FROM Activos A right JOIN Vistas V ON A.id_vista = V.Id_vistas where A.Activo='no' )
select A.Apodo,A.Apodo+' '+A.Activo+ ' ' +'esta en smartuns' as Descripcion,
V.id_vistas ,A.Activo
FROM Vistas V right JOIN Activos A
ON A.id_vista = V.Id_vistas
--where A.Activo='no'
Este es alguna de las filas que genera en access:
Sandra sandra no esta en Smartuns
Alma alma si esta en Smartuns, está en la Vista Sur 1 s
Agradezco a quien me pueda ayudar con este query,
1 Respuesta
Respuesta de mrtool
1