sql - SQL Server如何将一个表中的列复制到另一个表中
问题描述
我想将列 state_name 从表状态复制到表区。这是我的查询。
此代码适用于 mysql 但不适用于 SQL Server
UPDATE district,state
SET district.state_name = state.state_name
WHERE district.state_id = state.id
这是state
桌子
这是district
桌子
解决方案
在 SQL Server 中,相应的语法可能是:
UPDATE district
SET state_name = s.state_name
FROM state s
WHERE district.state_id = s.id;
这更常使用显式编写JOIN
:
UPDATE d
SET state_name = s.state_name
FROM district d JOIN
state s
ON d.state_id = s.id;
但是,您可能根本不应该更新该值。只需JOIN
在需要时使用 a 来获取州名。
推荐阅读
- html - 图片:悬停不工作
- vue.js - 从父vue修改子数据
- objective-c - 带有 AXTextMarker 的 WebKit 应用程序上的 macOS 可访问性 API
- qt - 如何将 Ximea xiAPI 相机数据转换为 QImage?
- sql - 如何在 Hive 中检索给定日期的 WeekofMonth
- gcc - 如何在 waf (Python) 中使用多个编译器
- c# - 无法弄清楚缺少什么库
- angular - Angular Material 2 选项卡标签中的输入不允许使用空格
- php - 限制 getter 和 setter 可访问的属性
- excel - Pentaho - 在 Microsoft Excel Writer 中跳过一列