请帮我看看这个sql错在哪里

wujiafan51 2011-07-25 10:25:36
我想获得加班的小时数。ResultOtTime1是小时的字段。
sum(if(ResultOtTypeName1='平常加班',ResultOtTime1,0)+if(ResultOtTypeName2='平常加班',ResultOtTime2,0)+if(ResultOtTypeName3='平常加班',ResultOtTime3,0))/3600
...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cd731107 2011-07-25
  • 打赏
  • 举报
回复
case 语句
快溜 2011-07-25
  • 打赏
  • 举报
回复
if(ResultOtTypeName1='平常加班',ResultOtTime1,0)这是什么写法?
sqlserver里是用case when的
wujiafan51 2011-07-25
  • 打赏
  • 举报
回复
谢谢楼上的! if用不了可以用case .我死脑筋了。
xuam 2011-07-25
  • 打赏
  • 举报
回复
sum((case ResultOtTypeName1 when '平常加班'  then ResultOtTime1 else 0  end )+(case ResultOtTypeName2 when '平常加班' then ResultOtTime2 else 0 end )+(case ResultOtTypeName3 when '平常加班' then ResultOtTime3 else 0 end))/3600
AcHerat 元老 2011-07-25
  • 打赏
  • 举报
回复

sum((case when ResultOtTypeName1='平常加班' then ResultOtTime1 else 0 end)+
(case when ResultOtTypeName2='平常加班' then ResultOtTime2 else 0 end)+
(case when ResultOtTypeName3='平常加班' then ResultOtTime3 else 0 end))/3600

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧