SQL: Пакетное обновление таблицы на основе MIN другого? Наверное, легко, но застрял - PullRequest
0 голосов
/ 09 января 2009

Я думаю, это будет легко, но я не понимаю, как это сделать!

Я хочу обновить таблицу авторов, чтобы в поле «Самый ранний» содержался год самой ранней книги. Мне нужно как-то использовать MIN, но как обновить их все одним запросом?

BookTable (BookID, AuthorFK, Год)

01 34 1943
02 34 1933
03 99 1910
04 62 1990
05 99 1901

AuthorTable (AuthorID, самое раннее)

34 1933
62 1990
99 1901

РЕДАКТИРОВАТЬ: HA HA отлично работает, спасибо за супер быстрый ответ! ПРАВИЛА STACKO (КРОМЕ ОТКРЫТОЙ ВЕЩИ)

Ответы [ 2 ]

2 голосов
/ 09 января 2009

Обновление AuthorTable set Самый ранний = (выберите min (Год) из BookTable, где BookTable.AuthorFK = AuthorTable.AuthorID)

1 голос
/ 09 января 2009

Я бы предложил сделать это с объединенным подзапросом, в котором есть группировка, например:

обновление AuthorTable установить Самый ранний = bt. [Год] От автораTable как на Присоединиться ( выберите AuthorFK, мин (год) как [год] из Booktable группа по AuthorFK ) как бт на at.AuthorID = bt.AuthorFK

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...