Yo suelo hacer lo siguiente para evaluar condiciones en las SQLs

select (case when (variable < 3) then (select campoN from TABLAX where
algo = otracosa) else 'valor_por_defecto" end) from TABLAY

en realidad son dos selects, una como subselect dentro de un case (que
son algo mas sencillos en su sintaxis).
Saludos.
pd: no lo puedo probar justo ahora para mandarte otro ejemplo por que
mi actualizacion a Gutsy me apago mysql por un rato.


> Message: 6
> Date: Thu, 18 Oct 2007 11:32:38 -0300
> From: "Angel Aranciba" <[EMAIL PROTECTED]>
> To: [email protected]
> Subject: [LUG.ro] sentencia if en sql .. mysql
> Reply-To: [email protected]
>
> hola,
> necesito hacer unas consultas en un solo querry un tanto complejas
> usando sql puro a un server de mysql. Tendria que hacer algo por el
> estilo de:
>
> if pasa algo a [%Variable%] then
> hacer estas sentencias de sql
> else
> hacer estas otras sentencias de sql
> end if
>
> digamos .. un tipico y querido if.
>
> El problema es que no se la sintaxis. buscando por el San G, termine
> en http://dev.mysql.com/doc/refman/5.0/es/if-statement.html
> pero la sintaxis que creo enteder de ahi no me anda.
>
> ejecuto desde phpmyadmin esta version reducida para testear la sintaxis:
>
> if 1<3 then SELECT `first_name` FROM `contacts`WHERE `phone_home` != ""
> end if;
>
> y me tira error de sintaxis. La sintaxis del select esta correcta.
> Segun vi por ahi, hay dos tipos de if distintos, uno que es un comando
> (no me sirve ya que las sentencias a ejecutar condicionalmente son muy
> distintas) y otro que es una sentencia.
>
> Cualquier ayuda es de utilidad,
>
> Saludos y gracias.
>
> PD: if o case .. me da igual, por ahi lei que el if no era estandar ..
> pero como es para hacer sobre mysql ...
>
_______________________________________________
Lugro mailing list
[email protected]
http://www.lugro.org.ar/mailman/listinfo/lugro

Responder a