mysql动态列--统计报表信息对比
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'MAX(IF(tmp.summary = ''',
tp.summary,
''', tmp.price, 0)) AS ''',
tp.summary, ''''
)
) INTO @sql
FROM (
select dic1.data_name,cd.data_code,cd.price,
concat('修理厂:',ifnull(vd.vendor_name,'')) as summary
from contract_detail2 cd
inner join contract ct on cd.contract_code = ct.contract_code
inner join vendor_data vd on ct.vendor_code = vd.vendor_code
left join tax_data td on ct.tax_code = td.tax_code
left join workhour_assy_data dic1 on cd.data_code=dic1.data_code and dic1.brand_code=cd.brand_code
left join data_dic dic2 on cd.vehicle_type=dic2.data_code
left join data_dic dic3 on cd.brand_code=dic3.data_code where cd.data_type= 1) tp; SET @sql = CONCAT('select tmp.data_name,tmp.data_code,', @sql,
' FROM (
select dic1.data_name,cd.data_code,cd.price,
concat(\'修理厂:\',ifnull(vd.vendor_name,\'\')) as summary
from contract_detail2 cd
inner join contract ct on cd.contract_code = ct.contract_code
inner join vendor_data vd on ct.vendor_code = vd.vendor_code
left join tax_data td on ct.tax_code = td.tax_code
left join workhour_assy_data dic1 on cd.data_code=dic1.data_code and dic1.brand_code=cd.brand_code
left join data_dic dic2 on cd.vehicle_type=dic2.data_code
left join data_dic dic3 on cd.brand_code=dic3.data_code where cd.data_type= 1 ) tmp group by tmp.data_code limit 0,10 ');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
得到的结果:不同修理厂的配件价格表格

mysql动态列--统计报表信息对比的更多相关文章
- MySql 修改列的注释信息的方法
1. 问题 已经有很多数据的按照业务逻辑分表的一系列表修改一个字段(类型,如-1:默认值,1:表示'人员id',2:表示'公司id')的注释2. 解决方法 1> 使用alter ...
- mysql按照天统计报表,当天没有数据,填0
1.问题复现: 按照天数统计每天的总数,如果其中有几天没有数据,那么group by 返回会忽略那几天,如何填充0?如下图,统计的10-3~10-10 7天的数据,其中只有8号和10号有数据,这样返回 ...
- Insert插入不同的列数量,统计信息对比
一.实验目的: Insert插入表中相同的行数量,不同的列数量,通过10046 和autotrace工具对比查看逻辑读.物理读.time数据,并得出相应结论 二.测试 2.1测试流程: =>[为 ...
- mybatis报表,动态列与查询参数+行列转换
这是报表原型,在这张报表中,使用了动态的列与动态查询参数,动态列与动态查询参数全部使用map将参数传入 map参数: //拼接查询时间 for (String month : monthList) { ...
- MySQL InnoDB配置统计信息
MySQL InnoDB配置统计信息 1. 配置持久化(Persistent)统计信息参数 1.1 配置自动触发更新统计信息参数 1.2 配置每张表的统计参数 1.3 配置InnoDB优化器统计信息的 ...
- MySQL 按照数据库表字段动态排序 查询列表信息
MySQL 按照数据库表字段动态排序 查询列表信息 背景描述 项目中数据列表分页展示的时候,前端使用的Table组件,每列自带对当前页的数据进行升序或者降序的排序. 但是客户期望:随机点击某一列的时候 ...
- Dynamic CRM 2013学习笔记(二十六)报表设计:Reporting Service报表 动态参数、参数多选全选、动态列、动态显示行字体颜色
上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门.开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的:参数 ...
- python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图
python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 # coding=utf-8 from openpyxl import load_workbook ...
- Mysql 列转行统计查询 、行转列统计查询
-- ---------------------------- -- Table structure for `TabName` -- ---------------------------- D ...
随机推荐
- shell脚本之nginx的安装
为了编写nginx自动部署的脚本而刚学习的shell脚本语言.写文章只是为了记录,有错误勿喷. 一.创建shell脚本程序 操作系统是Linux的 CentOS 7 版本. ...
- 8.Jmeter 快速入门教程 -- 如何使测试脚本更强大
添加基本的elements例如Sampler 或者一些监听器,就可以完成基本的测试.但有时需要更复杂的测试场景,所以还有更多其他的元素.清看下表,了解各种单元组的用途. 可添加的单元组 用途 Sa ...
- Jackson读取列表
List<MyBean> result = mapper.readValue(src, TypeFactory.collectionType(ArrayList.class, MyBean ...
- 廖雪峰的git学习笔记
安装完后,每个机器都要自报家门 Config--配置 global--全局参数 配置全局用户名 $git config --global user.name “Your Name” 配置邮箱 ...
- idea maven springmvc mybabit 多模块管理整合
一.安装软件jdk1.7,tomcat7.0,idea,mysql,maven 二.在idea中配置jdk 1.依次点开File -->Project Structure,点击左侧标签页,点击S ...
- alter update
## sql alter update 添加.修改.删除字段 ## 添加列名alter table 表名 add 列名 列类型;alter table 表名 add 列名 列类型 not null d ...
- Gym 102028J 扫描线/二维差分 + 解方程
题意:有一个二维平面,以及n个操作,每个操作会选择一个矩形,使得这个二维平面的一部分被覆盖.现在你可以取消其中的2个操作,问最少有多少块地方会被覆盖? 思路:官方题解简洁明了,就不细说了:https: ...
- rest framework之路由组件
一.路由组件的使用 1.使用实例 在视图中继承GenericViewSet类来完成功能时,需要自己对路由的写法有所改变,需要在as_view中传入actions字典参数: re_path('books ...
- 解决springdatajpa插入大量数据速度慢的问题
通过看控制台日志可以知道,jpa执行插入的时候每次都会先查询是否存在,然后再一条一条的执行插入,速度相当慢,所以可以jpa和mybatis一起用,用mybatis写原生的sql语句,用过foreach ...
- jstl jsp long to date
jsp 页面中使用jstl el 将long转换为时间类型,并格式化输出 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" ...