SELECT LEFT(RIGHT([ID],5),2) AS 分局代码, SUM(decode(type,1,1,0)) AS 类型A, SUM(decode(type,2,1,0)) AS 类型B, SUM(decode(type,3,1,0)) AS 类型C, SUM(decode(type,4,1,0)) AS 类型D
FROM T_A
GROUP BY LEFT(RIGHT([ID],5),2);
FROM T_A
GROUP BY LEFT(RIGHT([ID],5),2);
解决方案 »
- 怎么判断数据库中某几个字段是否符合条件。查询结果是:是否有符合条件的值?
- 求助ORACLE死锁问题
- 不解压缩,如何直接从*.dmp.z或*.dmp.gz文件imp?
- 数据库创建向导问题( 提示输入 SYS和SYSTEM 密码,当是没有 确定按钮)
- 求解带条件的更新
- oracle 11g XE 在linux 环境下的安装
- 如何用9i企业管理器建库
- ----------sql server数据导入到oracle--------------!!!
- [在线等]ORACLE触发器编译错误,到底是我那地方写错了?
- function中使用if then elseif结构
- 存储过程中能否用子查询?
- 使用RMAN进行恢复时,备份文件的路径问题
SUM(decode(type,2,1,0)) AS 类型B,SUM(decode(type,3,1,0)) AS 类型C,
SUM(decode(type,4,1,0)) AS 类型D
FROM A
GROUP BY SUBSTR(A.ID,7,2);
decode(type,1,'类型A',2,' 类型B',3,'类型C',4,' 类型D') 类型,count(1)
group by substr(a.id,7,2),decode(type,1,'类型A',2,' 类型B',3,'类型C',4,' 类型D')
SELECT LEFT(RIGHT([ID],5),2) AS 分局代码, (select COUNT([type]) from T_A where type=1 ) AS 类型A, (select count(type) from T_A where type=2) as 类型B,
(select count(type) from T_A where type=3) as 类型C,
(select count(type) from T_A where type=4) as 类型D
FROM T_A
GROUP BY LEFT(RIGHT([ID],5),2);但目前出来的结果也不是我想要的,因为我想把 GROUP BY LEFT(RIGHT([ID],5),2)放到子查询中
即
(select count(type) from T_A where type=4 GROUP BY LEFT(RIGHT([ID],5),2) ) as 类型D这样就符合我的要求了,即结果是 分局代码 类型A 类型B 类型C 类型D
13 1 1 1 1
12 1 1 1 1而目前的结果是
分局代码 类型A 类型B 类型C 类型D
13 1 1 1 1
13 1 1 1 1
13 1 1 1 1
13 1 1 1 1
12 1 1 1 1
12 1 1 1 1
12 1 1 1 1
12 1 1 1 1
不过,在 Access 中 decode好像不可用,怎么解决呢?
可以再开贴!