¿Cómo escribo una declaración IF ELSE en una consulta MySQL?
Algo como esto:
mysql_query("...(irrelevant code).. IF(action==2&&state==0){state=1}");
Luego, en mi matriz, debería poder hacer esto:
$row['state']
//this should equal 1, the query should not change anything in the database,
//just the variable for returning the information
mysql
if-statement
Dylan Cross
fuente
fuente

N.idy(CASE WHEN ...AS N.stateaAS state.=lugar de==para comparar?debes escribirlo en SQL, no en estilo C / PHP
para usar en consultas
IF ( action = 2 AND state = 0 ) THEN SET state = 1para su uso en funciones o procedimientos almacenados
fuente
Estas buscando
case:case when action = 2 and state = 0 then 1 else 0 end as stateMySQL tiene una
ifsintaxis (if(action=2 and state=0, 1, 0)), perocasees más universal.Tenga en cuenta que
as statesolo hay un alias en la columna. Supongo que esto está en la lista de columnas de su consulta SQL.fuente
SELECT col1, col2, IF( action = 2 AND state = 0, 1, 0 ) AS state from tbl1;O
SELECT col1, col2, (case when (action = 2 and state = 0) then 1 else 0 end) as state from tbl1;ambos resultados serán iguales ...
fuente
de acuerdo con el manual de referencia de mySQL, esta es la sintaxis de usar la declaración if y else:
Entonces, con respecto a su consulta:
o puedes usar
IF ((action=2)&&(state=0)) then state = 1; ELSE state = 2; END IF;Hay un buen ejemplo en este enlace: http://easysolutionweb.com/sql-pl-sql/how-to-use-if-and-else-in-mysql/
fuente