zoukankan      html  css  js  c++  java
  • MYSQL同一字段下多列多行合并查询

    应用场景

    在自定义表单时采用自定义表名-自定义表字段-具体内容来实现,这就需要对数据表进行处理

    数据项设计思路及处理:

    数据项数据库设计采用数据唯一标识表-对应-数据表来实现

    数据项唯一标识表:

    数据项具体内容表:

     由此会产生一个问题那就是一对多,同一个UNkId(数据唯一标识)下会有多个数据项,相对于传统面向对象思路来设计对象是不好设置的,

     那么由此就可以用到MYSQL的合并列的命令GROUP_CONCAT,语法为group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] ),

    可以将需要的字段来进行相应的合并:

    效果如下(合并字段可以使用concat来进行拼接):

     这样就可以得到一个近似于实体对象的String类型字符串,然后在进行相对应的转译即可获得数据信息。

     想关于group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )的mysql语句:

    select GROUP_CONCAT(CONCAT(c.`name`,':',b.`data`) separator ',' ) data  from t_task_unks a
            LEFT JOIN t_task_data_ b on a.unk_id=b.unk_id
            LEFT JOIN t_task_property_ c on c.task_id=a.task_id
            where a.task_id=b.task_id and b.property_id=c.id and a.task_id=1 
            group by a.unk_id

    -----------------------------------------------------------分割线-------------------------------------------------------------------

    本笔记自用 而已,如有错误请指正!

    GGQ

  • 相关阅读:
    数组的typedef 和函数的typedef
    函数返回值当左值的问题
    C++中虚析构函数的作用
    word2013密钥
    子类父类步长问题
    函数重定义——重写———重载
    C++的成员初始化列表和构造函数体(以前未知)
    常引用
    项目开发中的字符串模型
    指针函数的++(极易犯错误)
  • 原文地址:https://www.cnblogs.com/ggq94/p/12668450.html
Copyright © 2011-2022 走看看