【发布时间】:2020-09-21 18:11:10
【问题描述】:
我有 2 个数据库 Alpha 和 Beta。每个数据库都有相同的表“评论”。 Comments 表有 2 个字段:ID 和 Comments。 Alpha.Comments 仅填充了 ID 字段,对应的 Comment 字段为空。 Beta.Comments 既有 ID 又有对应的 cmets。是否有 SQL Query 可以使用 Beta 中的相应条目更新所有 Alpha.Comments 字段,其中 ID 匹配?
【问题讨论】:
-
SQL Server 2012, using MSSMS Ran this quiery: update alpha.cmets set cmets = (select b.cmets from beta.cmets b where b.id = cmets.id);它出错了:消息 512,级别 16,状态 1,第 1 行子查询返回超过 1 个值。当子查询跟随 =、!=、、>= 或子查询用作表达式时,这是不允许的。声明已终止。
-
已解决。显然表 B 的记录比表 A 多。必须正确使用 Where 语句过滤掉同一组记录以匹配表 A。
-
也许您会关心 answer your own question 并准确解释您是如何解决问题的,以防其他人可能会因为遇到相同的错误并寻找答案而提出这个问题。
标签: sql sql-server