Это довольно просто, я хочу обновить таблицу, но только если выполняется условие в другой таблице.
Запрос, который у меня сейчас есть:
UPDATE Table1
SET Table1.value='1234'
WHERE ID IN
(
(A sub query returning all the id's needed)
)
Этот тип работает, но он обновляет многие значения.
Проблема в том, что существует второе условие, а именно:
AND Table2.value = 'Pudding'
Но, увидев, что это другая таблица, она не работает. И я не знаю, как присоединиться к нему в Oracle. Посмотрел другие посты, но они, похоже, не относятся к моей конкретной проблеме. Попытка добавления предложения From с объединениями, которые я также использую в подзапросе, но не могу найти здесь, чтобы вставить его в оператор обновления в oracle.
Редактировать: Пример базы данных
Table1
ID Key1 Key2 Value
1 A1 B1 345
2 A1 B2 75
3 A2 B1 45
Table2
Key1 Key2 Value
A1 B1 'Pudding'
A1 B2 'Pudding'
A2 B1 'Something else'
И да, Table2 также является частью подзапроса, как и 6 других таблиц. Я считаю, что перечисление всей структуры подзапроса будет только более запутанным, поскольку все, что он делает, возвращает серию идентификаторов, которые уже работают нормально.
Но в результате первые две строки в примере должны быть обновлены.