Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/01/2012, 01:22
cyber_dark
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 14 años, 6 meses
Puntos: 3
Como usar el if dentro del select con inner join

Saludos amtes que nada gracias a todos por su constante ayuda. Bueno cuando hago estas consultas por separado funcionan pero al juntarlas no.

Aqui busco si elid o id valen 3.

Código PHP:
mysql_query("SELECT tabla1.*,tabla2.name FROM tabla1 INNER JOIN tabla2 ON tabla1.elid = tabla2.id WHERE (tabla1.elid = 3 OR tabla1.id=3) "); 
Y en estas si vale 3 "id" que se cambie a un nuevo valor:
Código PHP:
mysql_query("SELECT *, CASE id WHEN '3' THEN 'NUEVO VALOR' END AS id FROM tabla1 WHERE (elid = 3 OR id=3) ");

mysql_query("SELECT *, if(id=3,NUEVO VALOR,VALOR DEFAULT) as id FROM tabla1 WHERE (elid = 3 OR id=3) "); 
Todo lo anterior funciona, como dije al unirlos es el problema:

Código PHP:

mysql_query
("SELECT tabla1.*,tabla2.name if(tabla.id=3,NUEVO VALOR,VALOR DEFAULT) as tabla.id

FROM tabla1 INNER JOIN tabla2 ON tabla1.elid = tabla2.id WHERE (tabla1.elid = 3 OR tabla1.id=3) "
); 
Lo que quiero que haga es que en la tabla1 si el id vale 3 que cambie su valor pero no funciona, espero alguien me indique mi error, saludos y gracias a todos.

Última edición por cyber_dark; 19/01/2012 a las 01:54