mysql复杂动态行转列解决方案

本文分享了在MySQL中实现动态行转列的过程,解决了来自多个表的数据转换问题,并提供了带有参数的存储过程示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这段时间要弄财务报表,遇到了一个动态行转列的问题,数据库用的是mysql的。感觉mysql实现动态行转列比mssql复杂多了。网上的都是处理的一个表(比较简单),而我要处理的数据来自于多个表,对于行转列的行也要进行一定的过滤处理,最后在自己的努力下,总算出来啦,附件是完整代码。这两个存储过程都是带输入参数的,一个对要转的行有处理,一个没有处理,两个例子,都放出来,希望可以给遇到同样问题的朋友一些帮助。代码有不足的地方,欢迎指证。

(所有代码都是我在项目中用的,没有bug.)

 

php页面调用该存储过程的代码如下:

//解决不能返回结果集的问题

define('CLIENT_MULTI_RESULTS', 131072);
 $db = mysql_connect("localhost","root", "123456",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error());

 

 

 

//$startdate  $enddate是表示时间段的两个变量
      mysql_select_db("project",$db) or die("Could not select database");
 $result = mysql_query("call sp_financialreport_withvar($startdate,$enddate)") or die("Query failed:" .mysql_error());
 $rows=mysql_num_rows($result);
         while($arr = mysql_fetch_assoc($result))
        {
  print_r("fetch data success");
  
         }
        mysql_free_result($result);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值