sql - 获取 SQL 代码中的条件更新值
问题描述
我有一个查询:
select round(((avg(counts) * 100) * table2.times) / 100, 2) as Average, userid
from table1
inner join table2 on table1.userid = table2.ufkuserid
现在在table1
一列中的值为PP,RE,NE
基于上述 3 PE,RE,NE
,我想将table2.times
值更改为15,20,30
但是我必须使用SQL代码来映射和更改它,否则我会卡住。
所以table2.times
必须是硬编码的值15,20,30
。
解决方案
这是你想要的吗?
select ROUND(((AVG(counts) * 100) * v.times) / 100, 2) AS Average,
userid
from table1 inner join
table2
on table1.userid = table2.ufkuserid cross apply
(values (case table1.onecolumn
when 'PE' then 15.0 when 'RE' then 20.0 when 'NE' then 30.0
end)
) v(times)
group by userid;
推荐阅读
- angular - 如何在 Visual Studio 代码中为带有 Angular 的 dotnet 核心设置调试器
- swift - 如何使用 [String: Any]?作为符合 Codable 的 Struct 中的属性
- javascript - AJAX 调用后无法在 ReactJS 上下文 API 中设置状态
- javascript - 使用键盘箭头向上和向下移动 div
- django - 在 Django 2.2 中自定义 ImageField 和 FileField 的上传路径的问题
- python - python - 如何在try except块中处理Python中的多个相同错误类型
- datetime - 如何在 Go 中使用 GMT 格式获取当前日期和时间?
- sql - IN 语法糖是来自 = ANY 吗?
- r - 使用 lapply 将相同的函数但不同的计算应用于在循环中具有二进制列的不同列表
- c# - 有没有办法只在 Visual Basic Express 2010 上的日历/日期时间选择器上显示/选择某些日期