
| |||
![]() Hola quisiera saber como hacer una consulta que si bien me parece simple me está costando mucho, para hacer mas facil la explicación diagramé las tablas. lo que quiero es obtener la lista de personas que se encuentran sin empleo actualmente, muchas gracias. ![]() |
| |||
Re: Simple Consulta SQL Gracias, efectivamente el campo trabajando_actualmente es un varchar, estoy trabajando con sql por medio de asp para una base access. Apenas pruebe el codigo les aviso, pero les agradezco su tiempo. Saludos |
| |||
Re: Simple Consulta SQL Me da el siguiente error: La expresión de combinación no está admitida. Aqui pongo el ejemplo exactamente como esta en mi pagina: SELECT * FROM Empleados AS Emp LEFT JOIN Trabajando AS Tra ON Tra.ID = Emp.ID AND (Tra.TRABAJANDO_HASTA <> 'Trabajando_actualmente') WHERE Tra.ID IS NULL Lo que deberia obtener es aquellos empleados que no existan en la tabla Trabajando + aquellos empleados que existan pero que tengan el campo TRABAJANDO distinto de "Trabajando_Actualmente". No me quiero complicar con las fechas por ahora, solo quisiera traer el resultado de ambas tablas, que estaré haciendo mal? Gracias! |
| |||
Re: Simple Consulta SQL ![]()
Código:
con OUTER obtenes todos los resultados de la tabla, en este caso Empleados, y al utilizar la clausula Tra.ID IS NULL, le estas diciendo que no esten en la tabla trabajado.SELECT * FROM Empleados AS Emp LEFT OUTER JOIN Trabajando AS Tra ON Tra.ID = Emp.ID AND (Tra.TRABAJANDO_HASTA <> 'Trabajando_actualmente') WHERE Tra.ID IS NULL Espero que te sea util, Saludos |
| |||
![]() Syncro, al igual que la consulta Beakdan me tira el siguiente error: La expresión de combinación no está admitida Estoy usando access e iis en xp pro, podria llegar a ser por la version del soft?? La idea es sacar todos los registros de la tabla Empleados que no existan en la tabla Trabajando e incluir en el resultado, aquellos que si existan en Trabajando pero que cumplan con la condicion Trabajando.TRABAJANDO_HASTA distinto de 'trabajando actualmente'. Yo pregunto de ignorante que soy noma, se pueden poner "if..then..else..endif" dentro de la consulta? quizas pudiera solucionar algo con eso, no se... cualquier aporte vale. Gracias por su tiempo, Saludos |
| |||
Re: Simple Consulta SQL Sobre Access directamente esto funciona
Código:
Yo me plantearia normalizar la base.SELECT Empleados.id, Empleados.nombre, Trabajando.Trabajando_hasta FROM Empleados LEFT JOIN Trabajando ON Empleados.id = Trabajando.id WHERE IIf(Trabajando_hasta Is Null, Date()-1, IIf(Trabajando_hasta="Trabajando_Actualmente", Date(), CDate(Mid([Trabajando_hasta],7,4) & "/" & Mid([Trabajando_hasta],4,2) & "/" & Left([Trabajando_hasta],2))))<Date(); Quim |
| |||
Re: Simple Consulta SQL Houston, tengo un problema... no me funcionó la consulta, me da el error de expresion de combinacion no admitida, por lo tanto opté por lo mas ignorante (un parche al vuelo, al estilo m|crosoft), puse un campo trabajando_hasta en la tabla empleados y cada vez que llamo a un metodo para guardar/modificar empleados.trabajando_hasta tambien modifico el campo empleado.trabajando_hasta. Ahora puedo ver todos los que estan trabajando con un select * from empleado as e where e.trabajando_hasta = 'activo' Se que no es lo ideal, me pa re ce que tengo q leer un poco de normalizacion de bases de datos... Muchas gracias a todos por opinar. |