Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/10/2008, 10:24
Avatar de DooBie
DooBie
 
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 6 meses
Puntos: 71
JOIN no me devuelve datos, LEFT JOIN me devuelve NULL :(

Hola compañeros, os cuento.
Tengo tres tablas (tbl_estados, tbl_grupos y tbl_menus)
La tabla tbl_estados tiene estos campos
id, estado, nivel
La tabla tbl_grupos estos:
id, grupo, nivel
Y la tabla tbl_menus estos otros:
id, id_estado, grupos, titulo (y otros campos sin 'importancia')

Bien, estas tablas estan relacionadas de la siguiente forma, la tabla tbl_menus, esta relacionada con el campo id_estado al campo id de la tabl tbl_estados, y el campo grupos, 'esta relacionado con la tabla tbl_grupos y el campo nivel' (esto lo pongo entre comillas, por que no es una relacion con llaves foraneas, como en el caso del estado, sino que en tbl_menus.grupos se guarda una cadena con los posibles niveles de ese grupo separados por comas)

Pues bien, quiero hacer una consulta que me devuelva todos los registros de la tabla tbl_menus haciendo su correspondiente JOIN para las referencias.

Yo he probado esto:

SELECT tbl_estados.estado AS estado, tbl_menus.id, tbl_menus.enlace, tbl_menus.titulo, tbl_menus.categoria, tbl_menus.icono, tbl_grupos.grupo AS grupo FROM tbl_menus LEFT JOIN tbl_grupos ON tbl_menus.grupos REGEXP '[[:<:]]tbl_grupos.nivel[[:>:]]' LEFT JOIN tbl_estados ON tbl_estados.estado = tbl_menus.id_estado;

Lo cual me devuelve los registros pero en el campo estado y en el grupo me sale NULL.

si pruebo esto:

SELECT tbl_estados.estado AS estado, tbl_menus.id, tbl_menus.enlace, tbl_menus.titulo, tbl_menus.categoria, tbl_menus.icono, tbl_grupos.grupo AS grupo FROM tbl_menus JOIN tbl_grupos ON tbl_menus.grupos REGEXP '[[:<:]]tbl_grupos.nivel[[:>:]]' JOIN tbl_estados ON tbl_estados.estado = tbl_menus.id_estado;

No me devuelve ningun resultado.


Nose que mas probar, estoy un pelin perdido la verdad, si alguien tiene alguna idea, que la comente por favor.

saludos!