sql - 使用 sum 时,聚合可能不会出现在 UPDATE 语句的集合列表中
问题描述
我有这个代码
update T1
set T1.Column1= (Select SUM(T2.Column2))
FROM T2
WHERE T2.Column2 LIKE '%Building%';
但是在使用 SUM 函数时会出现此错误“聚合可能不会出现在 UPDATE 语句的集合列表中”。
我真正想要的查询是我有 2 个表,T1 和 T2,我喜欢更新值为 100 的 T1(使用 LIKE '%Building% 函数),使用 sum 它必须从T2 Column2 为 200(具有 LIKE '%Building% 功能)。感谢您的帮助
T1
Column1
100
T2
Column1 Column2
Land 100
Building 50
Building 100
Machinery 50
Building 50
解决方案
请您检查以下查询:
create table #T1
(
Column1 int
)
create table #T2
(
Column1 varchar(500),
Column2 int
)
insert into #T1
select 100
insert into #T2
select 'Land', 100
union all
select 'Building', 50
union all
select 'Building',100
union all
select 'Machinery', 50
union all
select 'Building', 50
update #T1
set Column1 = (Select SUM(Column2) FROM #T2 WHERE Column1 LIKE '%Building%')
select * from #T1
推荐阅读
- osgi - 使用 Domino Designer 10 进行 OSGI 插件开发
- javascript - 验证不会忽略字段
- swisscomdev - 尝试删除 s3 存储服务的服务密钥时失败
- node.js - nodejs zlib错误:尝试从数据库解压缩文本数据时无效距离太远
- python - 根据另一列中的值从熊猫列中的列表中提取元素
- c# - C# 无法将多个图像合并为一个宽度超过 65000 且高度为 1800 的图像,即(65000 像素宽度 *1800 像素高度)
- google-sheets - 基于另一个值的百分比的 Google 表格条件格式
- swift - 如何模拟和测试存储字符串的 UserDefaults 计算属性?
- php - 多个方法调用如何链接到 slim 的响应对象上?
- jasperserver - 在 ubuntu 18.04 中安装 JasperReports 7.1.0 错误:BUILD FAILED 在执行 import-export.xml 时发生以下错误