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
