Обновить поле в одной таблице с минимальным значением в поле в другой таблице

У меня есть две таблицы, в каждой из которых есть поле с именем PostDate.

Обе таблицы также имеют поле под названием LoadID.

В первой таблице есть одна запись для каждого LoadID.

Во второй таблице есть несколько записей для каждого LoadID, и каждая запись имеет различное значение для PostDate.

Я хочу обновить значение PostDate в первой таблице с помощью минимального значения PostDate во второй таблице для каждого LoadID.

Не могу понять, как это сделать.

Что вы пробовали и что получилось, когда вы это попробовали? Если вы ничего не пробовали, тогда еще рано размещать здесь вопрос.

jmcilhinney 27.10.2018 06:24

Это часть SQL или часть VB, которая вызывает у вас проблемы?

laancelot 27.10.2018 06:29

У меня возникли проблемы с созданием подзапроса с функцией min. Я пробовал все, что мог придумать, но не мог понять, как сгруппировать и т. д.

John Lee 28.10.2018 02:31
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
3
44
2

Ответы 2

Используйте коррелированный подзапрос:

UPDATE first_table f
SET post_date = (
   SELECT min( post_date )
   FROM second_table s
   WHERE s.LoadID  = f.LoadID 
)

я получаю «Операция должна использовать обновляемый запрос», когда пытаюсь это сделать. Вроде должно работать. Я использую Access 2000.

John Lee 28.10.2018 02:52

@krokodilko ответ тоже будет нормально работать Я также предлагаю новое решение для этого

UPDATE f
SET f.post_date = s.Post_Date
from first_table f
inner join
(
   SELECT min( post_date ) Post_Date, LoadId
   FROM second_table s
   Group by LoadId
) s 
on s.LoadID  = f.LoadID 

Другие вопросы по теме