【问题标题】:Is it possible to Update the rows with data from a table connected with the foreign key?是否可以使用与外键连接的表中的数据更新行?
【发布时间】:2011-07-13 08:10:43
【问题描述】:

我在数据库中有一个表[Book],它有一个[AuthorId][Description] 列。另一个表[Author] 通过外键[Book].[AuthorId] -> [Author].[ID][Book] 相关。

我想用文本"Nice book from #Author#" 更新[Book].[Description] 列,其中#Author# 是取自[Author].[Name] 的作者姓名。

类似这样的:

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

但问题是我不知道是否有办法从UPDATE 语句中加入作者和书籍,以便每个更新的行都知道它的作者姓名。

这可以在单个 SQL 查询中实现吗?

【问题讨论】:

    标签: sql database join attributes sql-update


    【解决方案1】:
    update Book 
      set Description = 'Nice book from '+Author.Name
    from Author
    where Book.AuthorID = Author.AuthorID
    

    【讨论】:

    • 哦,天哪,就这么简单? :) 谢谢。
    • @Kornelije Petak – 有时是:)
    【解决方案2】:
    UPDATE [Book] SET [Description] = 'Nice book from ' + [Book].[Name]
    FROM [Book], [Author] 
    Where [Book].AuthorId = [Author].Id
    

    【讨论】:

      猜你喜欢
      • 2014-02-28
      • 1970-01-01
      • 2022-01-15
      • 2019-05-19
      • 1970-01-01
      • 2019-06-17
      • 1970-01-01
      • 2016-03-06
      • 1970-01-01
      相关资源
      最近更新 更多