下面是一条sqlserver的语句,请高手帮忙转化成一条oracle语句,必有重谢!
SELECT
emplid,
sum(case when type = 'EMA' then 1 else 0 end) as [EMA],
sum(case when type = 'FAX' then 1 else 0 end) as [FAX],
sum(case when type = 'SMS' then 1 else 0 end) as [SMS],
sum(case when type = 'Visit' then 1 else 0 end) as [Visit],
sum(case when type = 'Training' then 1 else 0 end) as [Training],
sum(case when type = 'Account' then 1 else 0 end) as [Account]
FROM visitrecord
WHERE createtime between '2008-1-1' and '2008-12-31'
GROUP BY emplid ";
SELECT
emplid,
sum(case when type = 'EMA' then 1 else 0 end) as [EMA],
sum(case when type = 'FAX' then 1 else 0 end) as [FAX],
sum(case when type = 'SMS' then 1 else 0 end) as [SMS],
sum(case when type = 'Visit' then 1 else 0 end) as [Visit],
sum(case when type = 'Training' then 1 else 0 end) as [Training],
sum(case when type = 'Account' then 1 else 0 end) as [Account]
FROM visitrecord
WHERE createtime between '2008-1-1' and '2008-12-31'
GROUP BY emplid ";
解决方案 »
- Linux下Oracle远程连接
- 怎么安装OracleMTSRecoveryService服务?
- 求版主支招。我有如下配置的服务器,能否处理24亿条300字节左右的数据
- PL/SQL如何注册
- 求助:忘了ORACLE ENTERPRISE MANAGER CONSOLE的登陆名及密码怎么办?
- 如何在Oracle的表的任意位置中新插入一个或多个字段,或者调整表中字段的顺序?
- 删除后是否可以恢复
- 求救!!!oracle的问题
- Oracle 导出某用户dmp问题,以及sqldeveloper表查询问题
- 请问在在oracle中类似sqlsever的 left(t_cont,CHARINDEX(':',t_cont)-1)语句要怎么写
- 谁,什么时候,运行了什么样的SQL语句
- 用oracle触发器对记录表增加记录的问题
sum(decode(type, 'EMA', 1, 0)) as EMA,
sum(decode(type, 'FAX', 1, 0)) as FAX,
sum(decode(type, 'SMS', 1, 0)) as SMS,
sum(decode(type, 'Visit', 1, 0)) as Visit
FROM visitrecord
WHERE createtime between to_date('2008-1-1', 'yyyy-mm-dd') and
to_date('2008-12-31', 'yyyy-mm-dd')
GROUP BY emplid;
类似的这样,最后两个没给你写。
ORACLE里面需要讲字符类型转换为date?