Можно ли обновить строки данными из таблицы, связанной с внешним ключом? - PullRequest
1 голос
/ 13 июля 2011

У меня есть таблица [Book] в базе данных, которая имеет столбцы [AuthorId] и [Description]. Другая таблица [Author] связана с [Book] через внешний ключ [Book].[AuthorId] -> [Author].[ID].

Я бы хотел обновить столбец [Book].[Description] текстом "Nice book from #Author#", где #Author# - имя автора, взятое из [Author].[Name].

Примерно так:

UPDATE [Book] SET [Description] = 'Nice book from ' + [Author].[Name]

но проблема в том, что я не знаю, есть ли способ соединить автора и книгу из оператора UPDATE, чтобы каждая обновленная строка знала свое имя автора.

Возможно ли это в одном запросе SQL?

Ответы [ 2 ]

4 голосов
/ 13 июля 2011
update Book 
  set Description = 'Nice book from '+Author.Name
from Author
where Book.AuthorID = Author.AuthorID
1 голос
/ 13 июля 2011
UPDATE [Book] SET [Description] = 'Nice book from ' + [Book].[Name]
FROM [Book], [Author] 
Where [Book].AuthorId = [Author].Id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...