phpMyAdmin "Consulta de dos tablas"

955 views
Skip to first unread message

Yuridia Jaramillo

unread,
Nov 11, 2013, 1:58:13 PM11/11/13
to programaci...@googlegroups.com
SELECT `nombre_nivel.nivel_permisos`, `usuario.usuarios` 
FROM `nivel_permisos`,`usuarios`
WHERE `nivel_acceso.usuarios ='1' 
And `nivel_acceso.usuarios` = `num_nivel.nivel_permisos`;

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'nivel_acceso.usuarios` = `num_nivel.nivel_permisos`` LIMIT 0, 30' at line 3

Tengo 2 tablas con sus campos (*):
usuarios
*usuario (Nombre de usuario)
*nivel_acceso (Numero que representa el nivel)

nivel_permisos
*nombre_nivel (Nombre del Nivel)
*num_nivel (Numero del nivel)

Las tablas estan relacionadas de "num_nivel" de "nivel_permisos" a "nivel_acceso" de "usuarios". Esto es para que solo se utilicen los niveles de la tabla "nivel_permisos"

Intento que me arroje el nombre del nivel de la tabla "nivel_permisos" segun sea el nivel de acceso que tenga un usuario X donde su nivel de acceso en su columna "nivel_accesos" de tabla "usuarios" sea por ejemplo = 1

Donde en la tabla de "nivel_permisos" ejemplo:
nombre_nivel              "num_nivel"
Administrador                    1

Donde en la tabla de "usuarios" ejemplo:
nombreusuario             "num_nivel"
X                                       1

Lo que necesito es que con la consulta me arroje:
Administrador


Nota. He visto formas en las cuales consultar para hacerlo, antes he utilizado Oracle, esto lo he hecho con variables identificando las tablas, pero estoy utilizando phpMyAdmin, y primero reviso en la sentencia SQL ahi antes de trasladarlo al archivo PHP, pero no he podido hacer que me arroje lo que le pido. 
Marca errores pero no entiendo aun como es que deberia declarar la consulta para mostrar esto. Podrían ayudarme en esto?

Kal-El

unread,
Nov 12, 2013, 10:44:10 AM11/12/13
to programaci...@googlegroups.com
tienes un error en la referencia de tablas.

tus tablas se llaman nivel_permisos y usuarios pero en la condicion, realizas un llamado a las tablas nivel_acceso y a num_nivel

tienes que invertir los nombres de las tablas y las columnas.

deberia quedar mas o menos asi

SELECT `nivel_permisos.nombre_nivel`, `usuarios.usuario
FROM `nivel_permisos`,`usuarios`
WHERE `usuarios.nivel_acceso ='1' 
And `usuarios.nivel_acceso` = `nivel_permisos.num_nivel`;

ahora tu consulta deberia ejecutarse bien

Saludos :)
Reply all
Reply to author
Forward
0 new messages