Я использую MariaDB 5.5
У меня есть 2 таблицы, я хочу обновить столбец в таблице A на основе информации в таблице B.
Таблица B содержит несколько записей для Идентификатор, который я ищу, но в каждом реестре есть столбец updated_at, поэтому я просто хочу получить последний реестр.
select po_number, sce_status
from infor_order
where po_number = @po
order by updated_at desc;
Это приведет к следующему набору данных, в котором меня интересует только Выделенная часть '
![DataSetfor Table B](https://i.stack.imgur.com/WwKGW.png)
Итак, я хочу обновить столбец в таблице A, выполнив поиск по последнему значению таблицы B с помощью "po_number", но когда я пытаюсь сделать выбор для проверки объединения, я получаю 2 значения таблицы B для каждого реестра
select b.id, b.PO_NUMBER, b.INFOR_SCE_STATUS, infor.sce_status
from planning_backloguov b
left join (
select distinct po_number, sce_status
from infor_order
order by updated_at desc
) infor on b.PO_NUMBER = infor.po_number
where b.PO_NUMBER = @po;
![Result from Query](https://i.stack.imgur.com/ZJ0n9.png)
Если я добавлю «предел 1» в подзапрос левого соединения. Я не получаю никаких результатов из подзапроса.
TL; DR: я просто хочу обновить столбец из таблицы A на основе последнего значения из таблицы B для столбца общего идентификатора между этими двумя таблицами.