Necesito hacer una query con un condicional en el where y no se como hacerla, de hecho no se si se puede ya que en la documentación de MYSQL el condicional, ya sea CASE o IF lo ponen en el SELECT y no en la parte del WHERE.
Me explico, tengo la siguiente tabla que guarda la traducción del nombre de los campos dependiendo del idioma:
columnas:
col_name ------- malg_code ------ lang
datos:
user_id ----------- ang --------------- User
user_id ----------- cas ---------------- Usuario
user_id ----------- cat ----------------- Usuari
password -------- ang ---------------- Password
password -------- cas ---------------- Contraseña
password -------- cat -----------------
email -------------- ang ---------------- Mail
email -------------- cas ---------------- Correo
email -------------- cat ---------------- Correu
El caso es que la query me tiene que devolver el nombre del campo (p.ej: user_id) y el nombre traducido según un idioma concreto (p.ej: User) mi problema es que si el campo no tiene traducción en ese idioma como es el password con el código cat me tiene que devolver otro idioma, por ejemplo el inglés.
Mi idea es hacer una consulta del estilo siguiente:
Código PHP:
SELECT col_name, l.malg__code, l.lang_name as lang
FROM userstc_malg l
WHERE IF (malg__code = "cas" and l.lang_name != "") THEN (malg__code = "ang")
La cosa está en hacerlo en una sola consulta.
¿Alguien sabe como puedo hacerlo?
Saludos,