si no existe el valor del campo que busco, que ponga "vacio"
Publicado por Juan Carlos (1 intervención) el 07/02/2023 12:27:17
Hola. Apenas tengo idea de mysql.
Me pasaron esta query
pero tiene un problema y es que si en los JOIN que están entre los comentarios no existe el registro en esa tabla, no me muestra el resto de datos que extraigo de las otras tablas.
Imagino que se podría hacer una excepción con un IF o algo así pero la verdad es que estoy perdido....
Si me pudierais ayudar os lo agradecería.
Un saludo.
Me pasaron esta query
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
SELECT
DISTINCT u.username,
u.firstname AS NOMBRE,
u.lastname AS APELLIDOS,
ic.shortname AS CURSO,
u.city AS CIUDAD,
from_unixtime(u.lastaccess) as "ULTIMA CONEXION",
u.email,
from_unixtime(u.firstaccess) as "ALUMNO DESDE",
miscampos.data AS "TELEFONO",
miscampos2.data AS "DNI"
FROM
prefix_course ic
JOIN prefix_context con ON con.instanceid = ic.id
JOIN prefix_role_assignments ra ON con.id = ra.contextid AND con.contextlevel = 50
JOIN prefix_role r ON ra.roleid = r.id
JOIN prefix_user u ON u.id = ra.userid
JOIN prefix_user_enrolments ue ON ue.userid = ra.userid
/*JOIN con problemas*/
JOIN prefix_user_info_data miscampos ON miscampos.userid = u.id AND miscampos.fieldid= 3
JOIN prefix_user_info_data miscampos2 ON miscampos2.userid = u.id AND miscampos2.fieldid= 1
/*fin JOIN con problemas*/
LEFT JOIN prefix_groups_members gm ON u.id = gm.userid
LEFT JOIN prefix_groups g ON g.id = gm.groupid
WHERE
ic.id=54
AND ue.enrolid = 185
AND r.id = 5
ORDER BY APELLIDOS ASC
pero tiene un problema y es que si en los JOIN que están entre los comentarios no existe el registro en esa tabla, no me muestra el resto de datos que extraigo de las otras tablas.
Imagino que se podría hacer una excepción con un IF o algo así pero la verdad es que estoy perdido....
Si me pudierais ayudar os lo agradecería.
Un saludo.
Valora esta pregunta


0