表结构
N_ID V_KHMC V_SJR V_KWID N_FS
1 a单位 张三 a刊物 1
2 a单位 张三 b刊物 2
3 a单位 a刊物 3
4 b单位 李四 a刊物 1
5 b单位 李四 c刊物 2
6 b单位 b刊物 1
....想得出统计表
V_KHMC V_SJR a刊物 b刊物 c刊物
a单位 张三 1 2
a单位 3
b单位 李四 1 2
b单位 1求大神给个sql
N_ID V_KHMC V_SJR V_KWID N_FS
1 a单位 张三 a刊物 1
2 a单位 张三 b刊物 2
3 a单位 a刊物 3
4 b单位 李四 a刊物 1
5 b单位 李四 c刊物 2
6 b单位 b刊物 1
....想得出统计表
V_KHMC V_SJR a刊物 b刊物 c刊物
a单位 张三 1 2
a单位 3
b单位 李四 1 2
b单位 1求大神给个sql
V_SJR,
max(case when V_KWID='a刊物' then N_FS end) a刊物,
max(case when V_KWID='b刊物' then N_FS end) b刊物,
max(case when V_KWID='c刊物' then N_FS end) c刊物
from tab
group by V_KHMC,V_SJR;
(sum(case t.v_kwid when 'a刊物' then t.n_fs else null end)) a刊物 ,
(sum(case t.v_kwid when 'b刊物' then t.n_fs else null end)) b刊物 ,
(sum(case t.v_kwid when 'c刊物' then t.n_fs else null end)) b刊物 ,
from table1 t
group by t.v_khmc,t.v_sjr
order by t.v_khmc
试试看
大神,如果V_KWID是从另一个表维护的数据,动态的V_KWID怎么写呢
把所有值CASE WHEN一遍