没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
DELIMITER $$;
DROP PROCEDURE IF EXISTS `rentmgr`.`SP_CrossTable`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `SP_CrossTable`(ygh1 varchar(100))
BEGIN
declare vFunction Varchar(50)default "sum" ;
declare StrSql Varchar(8000);
declare done INT DEFAULT 0;
declare StrSum Varchar(3000);
Declare pCols Varchar(100);
declare temp_NY varchar(10);
declare cur1 Cursor for select distinct NY from query_area order by NY;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
Set StrSql ='';
Set StrSum='';
Set pCols='';
set StrSql="select jg_id";
open cur1;
repeat
fetch cur1 into temp_NY;
if not done then
Set StrSql=concat(StrSql,",sum(case when NY='",temp_NY,"' then mzh else 0 end) as ",temp_NY);
Set StrSum=concat(StrSum,"+case when a.",temp_NY," is null then 0 else a.",temp_NY," end");
end if;
UNTIL done END REPEAT;
close cur1;
DROP PROCEDURE IF EXISTS `rentmgr`.`SP_CrossTable`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `SP_CrossTable`(ygh1 varchar(100))
BEGIN
declare vFunction Varchar(50)default "sum" ;
declare StrSql Varchar(8000);
declare done INT DEFAULT 0;
declare StrSum Varchar(3000);
Declare pCols Varchar(100);
declare temp_NY varchar(10);
declare cur1 Cursor for select distinct NY from query_area order by NY;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
Set StrSql ='';
Set StrSum='';
Set pCols='';
set StrSql="select jg_id";
open cur1;
repeat
fetch cur1 into temp_NY;
if not done then
Set StrSql=concat(StrSql,",sum(case when NY='",temp_NY,"' then mzh else 0 end) as ",temp_NY);
Set StrSum=concat(StrSum,"+case when a.",temp_NY," is null then 0 else a.",temp_NY," end");
end if;
UNTIL done END REPEAT;
close cur1;
资源评论
- workhard_jam2014-07-11谢谢,参考一下。
- billlyh2013-08-18可以参考一下的
linshengru
- 粉丝: 1
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功