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