Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   uso de IIF (https://www.clubdelphi.com/foros/showthread.php?t=63578)

salvica 20-02-2009 00:16:57

uso de IIF
 
Hola, necesito sacar "SI" o "NO" como resultado de una consulta
Código SQL [-]
      ...
       SQL.Add( '       STR(SELECT COUNT(contrato.ID_PROPIED)' );
       SQL.Add( '                 FROM contrato' );
       SQL.Add( '                WHERE contrato.ID_INQUILI=inquilin.ID_CLAVE' );
       SQL.Add( '          ) AS BAJA,' );
      ...
esto me devuelve "0" si no hay cotratos, o más de "0" en caso contrario.

He intentado hacer esto :mad::mad::mad:
Código SQL [-]
      ...
       SQL.Add( '       IIF(STR(SELECT COUNT(contrato.ID_PROPIED)' );
       SQL.Add( '                 FROM contrato' );
       SQL.Add( '                WHERE contrato.ID_INQUILI=inquilin.ID_CLAVE'       ...
);
       SQL.Add( '          )="0", "NO", "SI") AS BAJA,' );
pero me da error, dice que Se utilizó un numero incorrecto de argumentos con la función en la expresión de consulta 'IIF(.....)'

¿podeis decirme como se hace?

(D-7, ZeosDBO y ADO con Microsoft Jet Engine)

Gracias de antemano
Salvica

Kipow 20-02-2009 00:45:35

Código Delphi [-]
       SQL.Add( '       SELECT IIF(COUNT(contrato.ID_PROPIED) = 0,"NO","SI") AS BAJA' );
       SQL.Add( '                 FROM contrato' );
       SQL.Add( '                WHERE contrato.ID_INQUILI=inquilin.ID_CLAVE'       ...

salvica 20-02-2009 01:00:32

Gracias Kipow, había puesto el dichoso IIF en todas partes menos en el select :D:D:D

Salvica


La franja horaria es GMT +2. Ahora son las 09:40:05.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi