离乡不肖生 2015-10-15 04:03 采纳率: 0%
浏览 1537
已采纳

mysql数据库查询的格式化

本人按一个日期段查询表的记录,为保证统一的处理方式,想让查询结果自动补全,如下所示:
billRec
100元,5人,2015-09-15
200元,6人,2015-09-21

而我想在查询日期为2015-09-15至2015-09-30这个日期区间时显示如下结果:
100元,5人,2015-09-15
0,0,2015-09-16
0,0,2015-09-17
……
200元,6人,2015-09-21
0,0,2015-09-22
0,0,2015-09-23
……
0,0,2015-09-30

也就是不存在的日期自动补为0,日期字段要显示全部。

请高手给个方法,最好是sql实现,如果根本就不应该这么处理,那如何对返回的记录集DataTable上作处理,顿首百拜啊

  • 写回答

2条回答 默认 最新

  • 好运常伴身旁 2015-10-16 07:51
    关注

    DROP TEMPORARY TABLE IF EXISTS TABLE_1;
    CREATE TEMPORARY TABLE TABLE_1
    (
    SELECT *
    FROM
    (
    SELECT '100YUAN' vMoney,'5REN' vNum,'2015-09-15' vDate
    UNION ALL
    SELECT '200YUAN','6REN','2015-09-21'
    )a
    );

    DROP TEMPORARY TABLE IF EXISTS TABLE_2;
    CREATE TEMPORARY TABLE TABLE_2
    (
    SELECT *
    FROM
    (
    SELECT '2015-09-15' vDate
    UNION ALL
    SELECT '2015-09-16'
    UNION ALL
    SELECT '2015-09-17'
    UNION ALL
    SELECT '2015-09-18'
    UNION ALL
    SELECT '2015-09-19'
    UNION ALL
    SELECT '2015-09-20'
    UNION ALL
    SELECT '2015-09-21'
    UNION ALL
    SELECT '2015-09-22'
    UNION ALL
    SELECT '2015-09-23'
    UNION ALL
    SELECT '2015-09-24'
    ) a
    );

    SELECT a.vDate,IFNULL(b.vMoney,0) vMoney,IFNULL(b.vNum,0) vNum
    FROM TABLE_2 a
    LEFT JOIN TABLE_1 b ON a.vDate = b.vDate
    ORDER BY a.vDate

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

报告相同问题?

悬赏问题

  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM