Апдейт поля таблицы по нескольким условиям
Даны таблицы:
HEADING
POS
JOURNAL
HEADING и POS связаны по id, POS и JOURNAL по item
Условия: Для документов таблицы HEADING, где code=11, а date не больше 10 дней от текущей, проапдейтить значение таблицы POS столбца id_journal, значением из таблицы JOURNAL по условию POS.item=JOURNAL.item, JOURNAL.count >= POS.KOL, если id_journal.JOURNAL несколько, айдейтить значением начиная с самой поздней даты ( JOURNAL.date)
Отдельно, все необходимое нахожу, но не могу все в 1 запрос составить.. Непонятно, что тут использовать.
Вообще у меня проблема, как это все вместе скомпоновать. По отдельности:
- Поиск документов согласно условиям
select id from HEADING where code = '11' and date between now() - interval '10 day' and now()
result: 23
2)Поиск нужного id_journal для апдейта. Тут не понял как цепляться к самой старой дате, ищу минимальное подходящее значение для id_journal
select min(j.id_journal) from POS p left join JOURNAL j on p.item=j.item where p.id ='23' and p.KOL <= j.count
result:5503
- В конечном итоге мне надо по всем полученным данным и условиям, выполнить апдейт
update POS set id_journal ='5503' where id ='23' and item ='843'
Результат изменений должен быть в таблице POS



