Я не могу получить следующий связанный с оракулом запрос для выполнения обновлений только в подразделении записей. В настоящее время он обновляет все записи.Связанный запрос на обновление
У меня есть таблица (TBL_REQUESTS), который выглядит следующим образом:
request_id employee_id status
------------------------------------
1 1000
1 1001
2 1003
2 1004
2 1005
3 1006
У меня есть мнение (VW_STATUS), который выглядит следующим образом:
employee_id status
---------------------
1000 failed
1001 closed
1002 open
1003 open
1004 close
1005 open
1006 open
Я пытаюсь написать заявление UPDATE, что будет обновите поле статуса сотрудников в TBL_REQUESTS с их соответствующим статусом от VW_STATUS, где TBL_REQUESTS.request_id равно переданному значению. Дополнительная морщина заключается в том, что в VW_STATUS может быть более 1 записи на одного сотрудника, однако если это создает проблему, я всегда могу найти способ исправить это в VIEW.
Эта попытка обновляется каждую строку в TBL_REQUESTS:
UPDATE TBL_REQUESTS r1
SET r1.status =
(SELECT s.status
FROM VW_STATUS s
INNER JOIN TBL_REQUESTS r2 ON s.employee_id = r2.employee_id
WHERE rd2.request_id = 2)
WHERE EXISTS
(SELECT s.status
FROM VW_STATUS s
INNER JOIN TBL_REQUESTS r2 ON s.employee_id = r2.employee_id
WHERE rd2.request_id = 2)
Это выглядит лучше, чем моя версия - однако, если сотрудник появляется более чем в одном запросе, не будет ли он обновлять их там тоже? Это облегчит это? 'ОБНОВЛЕНИЕ TBL_REQUESTS г1 SET r1.status = (SELECT s.status ОТ VW_STATUS сек внутреннее соединение TBL_REQUESTS R2 на s.employee_id = r2.employee_id ГДЕ rd2.request_id = 2) ГДЕ r1.employee_id в (SELECT s.employee_id FROM VW_STATUS s INNER JOIN TBL_REQUESTS r2 ON s.employee_id = r2.employee_id WHERE rd2.request_id = 2) и r1.request_id = 2' edit - не реализовали ввод сохраненных комментариев. – MidnightThoughtful
Да, это, безусловно, было бы. Кроме того, если мой запрос помог ответить на ваш вопрос, пожалуйста, отметьте мой ответ как правильный. –