codedvalue 2018-10-24 02:37 采纳率: 80%
浏览 486
已采纳

根据4张表取指定的数据

现在有4张表:表一:jy_qualitytaskdet 细表,以此表为主表,查出符合要求的总数进行分组,用得到的字段create_date是时间,第一个条件,分别需要取2个月的数据,根据时间进行分组
,表二:jy_qualitytask 粗表,作为表关联的中转细表的jy_qtcode存的是粗表的id
,表三:t_s_base_user 成员表,保存了成员的信息,根据粗表中字段jobnum等于成员表中字段jobnum而中转进行关联,第二个条件,成员表中Iscorrect为是否转正,字段值即为‘是’与‘否’,根据这两个值进行分组
,表四:jy_qualityitem 内容表,该表的id为细表的jy_qticode字段,然而此表自身分父子ID(id与pid字段),大类id为001-005顺序排序,小类id从006开始到某个数字(目前是023),小类自身关联着大类,通过小类的pid存入大类的id实现,而细表中jy_qticode中只存入小类的id,但是最终结果要求根据小类所关联的大类ID进行大类的分组,即分为5组
,如下是我写的sql:

            select count(a.id) num,d.pid xiangmu,c.Iscorrect yesor 
            from jy_qualitytaskdet a 
            LEFT JOIN jy_qualitytask b ON a.jy_qtcode = b.id 
            LEFT JOIN t_s_base_user c ON c.jobnum = b.jobnum 
            LEFT JOIN jy_qualityitem d ON d.id = a.jy_qticode 
            WHERE DATE_FORMAT( a.create_date, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) 
            GROUP BY d.pid,c.Iscorrect;

            最终结果是按照时间与是否分为4个数组,每个数组按照001-005分成5个元素
            ,但是有几个问题:
            1.取出的数据需是按照001-005;是否;两个时间段进行分组的,那么应该是拥有20个数据类型,但是我将他们取到后台之后有可能会出现某个值为null的情况而导致全部数据乱序,应该怎样在sql语句中就进行判断使null值变为0,否则岂不是要写20个if语句;
            2.排序,怎样排序成
                                                                    001,是,第一个时间段
                                                                    002,是,第一个时间段
                                                                    003,是,第一个时间段
                                                                    .....
                                                                    001,否,第一个时间段
                                                                    002,否,第一个时间段
                                                                    .....
                                                                    001,是,第二个时间段
                                                                    .....
这样的格式
            3.时间需要从前台传入后台的一个时间字段的参数进行判断,但是本人对于AJAX一窍不通,能够以怎样的方式动态获取数据,如果非要用AJAX能不能直接提供完成的代码加上注释最好,感激不尽
            4,最多写2条sql,我现在是按照时间来分成2条sql写的

            使用的框架是JEECG,echarts,数据库是mysql
  • 写回答

4条回答 默认 最新

  • codedvalue 2018-10-24 02:41
    关注

    还有一点就是请尽量说的白话一点,我是个新手,工作经验不到2个月,学校成绩中游垫底,说的太高深太扑朔迷离我听不懂的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!