Comparando columnas en sql
Frecuentes
Visto 157 veces
0
Quiero comparar dos columnas en SQL
oldname newname empid
j11 j12
j12 j13
j13
Quiero obtener una lista de empleados que han completado ciertos certificados. Digamos que emp1 ha realizado el certificado j11 pero más tarde el nombre del certificado cambia a j12. Ese empleado aún debe estar certificado. Más adelante, si j12 se cambia a j13, ese empleado aún debe considerarse certificado.
2 Respuestas
0
Deberías tener tres tablas:
- Empleados (IdEmpleado)
- Certificados (certificadoId)
- EmployeeCertificates (vincula a los empleados con los certificados)
Si proporciona empleados, certificados e identificadores invariables, no importa si sus nombres cambian (este es un principio de diseño importante cuando crea bases de datos relacionales).
contestado el 22 de mayo de 12 a las 14:05
0
La estructura de su tabla debería verse como dijo web_bod. Su consulta debería ser algo como esto:
SELECT employeeid, name FROM
Employees e INNER JOIN EmployeeCertificates ec ON e.id = ec.employeeId
INNER JOIN Certificates c ON c.id = ec.certificateId
WHERE Certificates.id = ?
contestado el 22 de mayo de 12 a las 15:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas sql-server compare or haz tu propia pregunta.
¿podría mostrar la estructura de su tabla de empleados? - Manuel