数据库字段 IID、内容、类别、部门ID、年份这5个字段其中类别是固定的A、B、C、D4类,我现在想根据年份查询当前年份下,不同部门下的ABCD四类的个数,写了好久发现不行
如图,我想要的结果
Access数据库
如图,我想要的结果
Access数据库
解决方案 »
- 一个简单的问题
- 更新明细
- 创建视图中如果出现\怎么办?
- 关于sqlserver2000还原到sqlserver2005上需要注意的问题,请前辈指点!
- 如下图描述,当我显示姓李的人时,将姓李的人有关系的其他人也列出名字来。怎么写sql语句?
- 这样的存储过程怎么写!
- 各位高手,帮帮忙?
- 江湖告急:我那天直接删掉我的数据库文件mdf和ldf文件后,出现问题是打开sqlserver2000看不到数据库下面的其他数据库了,直接显示“无项
- sql server存储过程问题:(奇怪)
- delphi5.0+sql server7.0的程序在nt4.0下运行,字段和表名要严格区分大小写吗?
- SQLServer2000死锁,急啊。。。有日志。。
- sql查询问题
SQL SERVER的可以用行转列
部门,
sum(case 类别 when 'A' then 1 else 0 end) as 'A',
sum(case 类别 when 'B' then 1 else 0 end) as 'B',
sum(case 类别 when 'C' then 1 else 0 end) as 'C',
sum(case 类别 when 'D' then 1 else 0 end) as 'D'
from
tb
group by
部门
select A,B,C,部门 from (select count(1) from RE001_成果一览 where 类别='论文数量') As A,
(select count(1) from RE001_成果一览 where 类别='获奖情况') AS B,
(select count(1) from RE001_成果一览 where 类别='发表刊物数') AS C,
(select 部门ID from RE001_成果一览 group by 部门ID) AS 部门
部门,
sum(case 类别 when 'A' then 1 else 0 end) as 'A',
sum(case 类别 when 'B' then 1 else 0 end) as 'B',
sum(case 类别 when 'C' then 1 else 0 end) as 'C',
sum(case 类别 when 'D' then 1 else 0 end) as 'D'
from
tb
where
year(年份)=year(getdate())
group by
部门
语法错误,操作符丢失,说是在 sum(case 类别 when 'A' then 1 else 0 end)中
select
部门,
sum(switch(类别='A',1,True,0)) as 'A',
sum(switch(类别='B',1,True,0)) as 'B',
sum(switch(类别='C',1,True,0)) as 'C',
sum(switch(类别='D',1,True,0)) as 'D'
from tablename where year(年份)=year(date())
group by 部门
access中没有getdate() 用date()代替
其他的我也不知道了...
恩恩,switch就可以了,谢啦叶子
TRANSFORM Count(T1.[ID]) AS ID之计算
SELECT T1.[部门], Count(T1.[ID]) AS [总计 ID]
FROM T1
GROUP BY T1.[部门]
PIVOT T1.[类别];
ID 内容 类别 部门
1 IID A 统计处
2 B 统计处
3 C 统计处
4 D 统计处
5 A 加贸处
6 B 技术处
7 C 财务处
8 C 转关科
9 B 财务处
结果部门 总计 ID A B C D
财务处 2 1 1
技术处 1 1
加贸处 1 1
统计处 4 1 1 1 1
转关科 1 1