发布网友 发布时间:2022-04-30 05:56
共3个回答
热心网友 时间:2022-04-10 20:52
第一步,sql拼接:
select 'sum(case when area ='' '|| area|| ' '' then 1 else 0 end ) 'as rows
然后取得上面结果的记录集,组合拼接 进行第二步,示例如下:
select bDate ,sum(case when area ='保养一区' then 1 else 0 end ) as 保养一区,追问保养区是动态的 如果我有 100个保养区,我岂不是要列出 100条 sum(case when ....... ,并且 如果 添加新的保养区 我岂不是 每次 都得 到程序当中去修改 程序。 我需要的是动态的
追答
。。。
你还是没明白我的意思!
我第二步是举例给你看,我 那些一系列的 sum(case when...是通过第一步的语句查询出来的,你执行下我的第一步就明白了吧! 把第一步的结果用程序或存储过程 循环遍历,拼接放到第二步当中,不就是可以实现动态的了。。。。
第一步的语句我给你完善下吧!:
select 'sum(case when area ='' '||area|| ' '' then 1 else 0 end ) as '||area as rows在给你看个图片,如果这样还不明白,那俺就没办法了。。
热心网友 时间:2022-04-10 22:10
select热心网友 时间:2022-04-10 23:45
导出来数据后直接xls然后做透视就好了。压根不需要动态转类语法,那个太累。