PDA

Ver la Versión Completa : uso de IIF


salvica
20-02-2009, 00:16:57
Hola, necesito sacar "SI" o "NO" como resultado de una consulta

...
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:

...
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
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 (http://www.clubdelphi.com/foros/member.php?u=8796), había puesto el dichoso IIF en todas partes menos en el select :D:D:D

Salvica