首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql 复杂查询,该怎么处理

2014-03-19 
sql 复杂查询表Anumdwnumbmdatelxmark1 2 2013/1151 2 2013/2151 3 2013/1171 3 2013/2173 2 2013/1153 3

sql 复杂查询
表A
numdw    numbm   datelx    mark
1 2 2013/1    15
1 2 2013/2    15
1 3 2013/1    17
1 3 2013/2    17
3 2 2013/1    15
3 3 2013/2    17
5 2 2013/1    15
5 3 2013/2    17
7 2 2013/1    15
7 3 2013/2    17
9 2 2013/1    15
9 3 2013/2    17

表B
numbmbmjc
2人事部门
3后勤部门
4技术部门

要实现的查询结果:
numdwyearmonthevery/total人事部门后勤部门countcountf   
1 2013  2    1   1  1 2 1
1 2013  2    2   2  2 4 2
3 2013  2    1   1  1 2 1
3 2013  2    2   1  1 2 1

注:
every/total 1表示当月,2表示截止到当前月(一年度)
人事部门、后勤部门这些列为动态,根据查询条件确定,值为表A,mark=5的合计
count 为人事部门、后勤部门等列值的sum
countf 与count类似,但是mark=7
[解决办法]
我不知sql 2005有没有提供 pivot, 我的2008是有。

给你个提示,google一下 pivot 和 stuff 的用法,可以解决你的问题
[解决办法]
看看这个精华帖吧 ,动态行转列
http://bbs.csdn.net/topics/240002706

热点排行