Cita:
Iniciado por gnzsoloyo
Vamos por partes:
1) No existen repeticiones desde el punto de vista de bases de datos. Repeticiones se dan cuando todos los campos devueltos en la consulta, en cada registro son iguales entre dos registros dados. En tu caso debe estar "repitiendo" algunos datos de algunas columnas, pero eso sólo significa que se trata de tablas relacionadas en cardinalidad 1:N o N:N, y se repiten N veces los registros de al menos una tabla... tantas como registros relacionados hay.
2) Yo de dije que luego de quitarlo verificaras visualmente, es decir que buscaras visualmente el que estás indicando en ese WHERE. La idea es que te dieras cuenta que no había ninguno que cumpliera la condición "ClaveEmpleado='1000'".
¿Se entiende?
Un INNER JOIN devolverá datos si se cumplen todos los INNER JOIN al mismo tiempo, y en el caso de existir condiciones en el WHERE, de los que devuelve el JOIN, sólo los que las cumplen.
Desde el momento en que no da error, entonces lo que tienes son condiciones que no se cumplen en tu consulta.
Tan simple y sencillo como eso.
Ok, si yo quito la condición sigue sin aparecer registros a menos que yo quite la relación de las tablas que quedaría asi:
SELECT area.Nombre AS area, NomPuesto, NombreNivel, IdEmp, ClaveEmpleado, empleado.Nombre, APaterno, AMaterno, empleado.IdArea, empleado.IdPuesto, empleado.IdNivel, Usuario, Contrasena, Email, Foto
FROM empleado, area, puesto, niveldeacceso
de esta forma me da un resultado de los registros que están en cada una de las tablas pero sin forma (No tienen relación a lo que debería tener) y si dejo la consulta quitando la condición
asi
SELECT area.Nombre as area, NomPuesto, NombreNivel, IdEmp, ClaveEmpleado, empleado.Nombre, APaterno, AMaterno, empleado.IdArea, empleado.IdPuesto, empleado.IdNivel, Usuario, Contrasena, Email, Foto
FROM empleado
INNER JOIN area ON area.IdArea=empleado.IdArea
INNER JOIN puesto ON empleado.IdPuesto=puesto.IdPuesto
INNER JOIN niveldeacceso ON empleado.IdNivel=niveldeacceso.IdNivel
sigue sin darme datos, pero no muestra error
al igual que la condición que estoy buscando si existe, No se si estoy haciendo algo mal y lo realice de las dos formas que muestro al principio.