Angel Aranciba escribió:
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 ...

El tema es que esta construcción esta enmarcada por lo que
veo en una *stored procedure* y por eso el interprete sql te dice
que no entiende el if.
Creo que si requiere cindicionalidad la ejecucion del comando sql
debes caer en procedimientos o funciones almacenadas.
A menos qeu pruebes hacer un:
SELECT IF <tal cosa> THEN <SQL-V> ELSE <SQL-F> END IF
y te funcione!

Saludos.

Mario
_______________________________________________
Lugro mailing list
[email protected]
http://www.lugro.org.ar/mailman/listinfo/lugro

Responder a