本文为刘兴原创, 如果转载,请注明原网址http://deepfuture.iteye.com/blog/697154
drop PROCEDURE IF EXISTS gxtj;
Delimiter ^^
CREATE PROCEDURE gxtj()
BEGIN
declare tmpxm varchar(20) default '' ;
declare allsql varchar(1000) default '';
declare cur_xm cursor for select khxm.name from khxm ;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET tmpxm = null;
open cur_xm;
fetch cur_xm into tmpxm;
WHILE ( tmpxm is not null) DO
set allsql =CONCAT(allsql,"MAX(CASE WHEN khxm.name ='",tmpxm ,"' THEN khzl.fenshu ELSE 0 END) AS ", tmpxm,",");
FETCH cur_xm INTO tmpxm;
END WHILE;
close cur_xm;
set allsql=CONCAT("select * from (select people.name as pname,keshi.name as kname,people.bm from people,keshi where people.bm=keshi.bm) as p left join (select ",allsql,"khzl.year,khzl.time,khzl.peopleid FROM khzl, khxm WHERE khzl.khbm = khxm.bm) as zl on p.bm=zl.peopleid");
set @sql=allsql;
prepare sqlxm from @sql;
execute sqlxm;
deallocate prepare sqlxm;
END^^
Delimiter ;
call gxtj();
分享到:
相关推荐
NULL 博文链接:https://x125858805.iteye.com/blog/2273503
mysql动态行转列的例子
mysql行转列(将同一列下的不同内容的几行数据,转换成几列显示)、列转行、行列汇总、合并显示
NULL 博文链接:https://pmandy-163-com.iteye.com/blog/789326
行转列sql实例行转列sql实例行转列sql实例行转列sql实例行转列sql实例
MySQL行转列示例代码,备忘,作为需要用时的参考
Mysql 行转列,列转行 SQL语句和示例表结构SQL Mysql 行转列,列转行 SQL语句和示例表结构SQL
-- MySQL 行转列 非固定列 2009-4-25 by kim -- CREATE TABLE `expense_log` ( -- `EXPENSE_ID` INT(10) DEFAULT NULL, -- `USER_ID` VARCHAR(45) DEFAULT NULL, -- `TOTAL` INT(11) DEFAULT NULL -- ) ENGINE=...
mysql行转列算法举例与分析,有益于对mysql语法学习
NULL 博文链接:https://wangming2012.iteye.com/blog/1942144
MySQL行转列与列转行,帮助需要的大佬学习行列之间的转换
本文介绍的实例成功的实现了动态行转列。下面我以一个简单的数据库为例子,说明一下。 数据表结构 这里我用一个比较简单的例子来说明,也是行转列的经典例子,就是学生的成绩 三张表:学生表、课程表、成绩表 学生表...
mysql行转列、列转行 语句不难,不做多余解释了,看语句时,从内往外一句一句剖析 行转列 有如图所示的表,现在希望查询的结果将行转成列 建表语句如下: CREATE TABLE `TEST_TB_GRADE` ( `ID` int(10) NOT...
即一列中存储了多个属性值。如下表 pk value 1 ET,AT 2 AT,BT 3 AT,DT 4 DT,CT,AT 一般有这两种常见需求(测试数据见文末) 1.得到所有的不重复的值,如 value AT BT CT DT ET SQL...
MySQL行转列操作 所谓的行转列操作,就是将一个表的行信息转化为列信息,说着可能比较笼统,这里先举个例子,如下: +----+-----------+--------+-------+ | ID | USER_NAME | COURSE | SCORE | +----+----------...
mysql中有种可以通过join相关操作进行表与表之间的方式查询不同结果集,但是在一对多的情况下,关键查询的结果是多条的.例如:班级和学习的关系,我想很直观的看到班级和学生的情况,列表显示出班级的信息和班级的男生...