2012-05-22 3 views
0

Я хочу, чтобы сравнить два столбца в SQLСравнение столбцов в SQL

oldname newname empid 
j11  j12 
j12  j13 
j13 

Я хочу, чтобы принести список сотрудников, закончивших определенные сертификаты. Предположим, что emp1 выполнил j11 cert, но позже имя сертификата изменилось на j12. Этот сотрудник все равно должен быть сертифицирован. Позже, если j12 изменен на j13, этот сотрудник все равно должен считаться сертифицированным.

+2

Вы могли бы показать структуру своего персонала? – Manuel

ответ

0

Вы должны иметь три таблицы:

  1. Сотрудники (EmployeeID)
  2. Сертификаты (certificateId)
  3. EmployeeCertificates (ссылки сотрудникам сертификаты)

Если вы даете сотрудникам и сертификаты и инвариантный идентификатор, тогда не имеет значения, изменились ли их имена (это важный принцип проектирования при создании реляционных баз данных).

0

Ваша структура таблицы должна выглядеть как web_bod. Ваш запрос должен выглядеть примерно так:

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 = ?