У меня есть таблица:Вставка строк в таблице, если не нашли в другой таблице
Employee (employeeID)
EmployeeRank (rankID, employeeID)
Теперь у меня есть еще один стол, который имеет все работник, которые собираются, чтобы получить повышение.
DueForRaise (rankID, employeeID)
я должен вставить все работники, находящиеся в DUeForRaise в таблице EmployeeRank ТОЛЬКО, если они уже не существуют с того же ранга.
Я делаю это обновление для идентификатора участника, @rankID.
Будет ли это работать?
INSERT EmployeeRank (rankID, employeeID)
SELECT rankID, employeeID
FROM DueForRaise dfr
OUTER JOIN EmployeeRank er er.employeeid = dfr.employeeid)
WHERE dfr.rankID = @rankID
Спасибо, за огромные таблицы, на ваш взгляд, это оптимизированный запрос? – LightTechnician
Это зависит от индексов, которые у вас есть. Я бы проиндексировал EmployeeRank на (rankID, employeeID) – Nestor