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动态列--统计报表信息对比的更多相关文章

  1. MySql 修改列的注释信息的方法

    1. 问题     已经有很多数据的按照业务逻辑分表的一系列表修改一个字段(类型,如-1:默认值,1:表示'人员id',2:表示'公司id')的注释2. 解决方法     1> 使用alter ...

  2. mysql按照天统计报表,当天没有数据,填0

    1.问题复现: 按照天数统计每天的总数,如果其中有几天没有数据,那么group by 返回会忽略那几天,如何填充0?如下图,统计的10-3~10-10 7天的数据,其中只有8号和10号有数据,这样返回 ...

  3. Insert插入不同的列数量,统计信息对比

    一.实验目的: Insert插入表中相同的行数量,不同的列数量,通过10046 和autotrace工具对比查看逻辑读.物理读.time数据,并得出相应结论 二.测试 2.1测试流程: =>[为 ...

  4. mybatis报表,动态列与查询参数+行列转换

    这是报表原型,在这张报表中,使用了动态的列与动态查询参数,动态列与动态查询参数全部使用map将参数传入 map参数: //拼接查询时间 for (String month : monthList) { ...

  5. MySQL InnoDB配置统计信息

    MySQL InnoDB配置统计信息 1. 配置持久化(Persistent)统计信息参数 1.1 配置自动触发更新统计信息参数 1.2 配置每张表的统计参数 1.3 配置InnoDB优化器统计信息的 ...

  6. MySQL 按照数据库表字段动态排序 查询列表信息

    MySQL 按照数据库表字段动态排序 查询列表信息 背景描述 项目中数据列表分页展示的时候,前端使用的Table组件,每列自带对当前页的数据进行升序或者降序的排序. 但是客户期望:随机点击某一列的时候 ...

  7. Dynamic CRM 2013学习笔记(二十六)报表设计:Reporting Service报表 动态参数、参数多选全选、动态列、动态显示行字体颜色

    上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门.开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的:参数 ...

  8. python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图

    python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 # coding=utf-8 from openpyxl import load_workbook ...

  9. Mysql 列转行统计查询 、行转列统计查询

      -- ---------------------------- -- Table structure for `TabName` -- ---------------------------- D ...

随机推荐

  1. (1.2)学习笔记之mysql体系结构(数据库文件)

    InnoDB存储引擎体系结构图 1.InnoDB数据库的结构 (1)redo log:这里的redo log不是数据的redo log,InnoDB本也是一个数据库,身具有的redo log,所以这里 ...

  2. java swing 中JTable实现指定单元格为下拉框

    利用自定义的CellEditor实现第四列第二行为下拉框,本列其余行为文本框 利用默认的DefaultCellEditor设置第五列整列为下拉框   package mypackage; import ...

  3. sql语句(删除重复数据只保留一条)

    用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select ...

  4. 【Movie】绿皮书

    今天和室友一起去看了<绿皮书>,一部获得奥斯卡的电影. 起初我是没什么太大期望的,纯粹是因为特价票10块钱,加上身边一个小姐姐的力荐. 看完我觉得,啊不愧是奥斯卡电影啊.推荐. 以下可能会 ...

  5. 实习记——《Rethink》

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/gmszone/article/details/30045055 最终能够在和自己的电脑上写下这些字了 ...

  6. Pytest 通过文件名类名方法执行部分用例

    • 场景:只执行符合要求的某一部分用例,通过类与方法的命名实 现.通常编写测试方法时 • 解决:直接输入文件名,类名 pytest test_class_01.py • pytest -v -s te ...

  7. 【牛客网-剑指offer】斐波拉契数列

    题目: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39 知识点: 一列数:从1开始,前两项为1,从第三项开始每一项等于前两项之和 ...

  8. [网络流24题] 洛谷P2761 软件补丁问题

    题意:某公司发现其研制的一个软件中有 n个错误,随即为该软件发放了一批共 m 个补丁程序.对于每一个补丁 i ,都有 2 个与之相应的错误集合 B1(i)和 B2(i),使得仅当软件包含 B1(i)中 ...

  9. javascript与jquery删除元素节点

    今天工作的时候遇到一个删除的问题,研究了下发现是没有很好的区分js和jquery的删除方法,在此澄清一下 工作的代码如下 // 删除图片 $("#js_takePhotoWrap" ...

  10. Java 基础 - 单行初始化数组 Initialize array in one line

    Code: public class ClassName { private char[] value = new char[]{'a','b'}; private char[] value2 = { ...