请问下这个 SQL 语句怎么写

tiantian2324 2018-01-21 05:37:29
我有个 画面 有2个查询条件 启示日期 结束日期
比如是 2018-01-20 2018-01-22
表如下
ID 数量 日期
3 20 2018-01-19
1 200 2018-01-20
4 50 2018-01-23


我用上面查询 条件 写 SQL 语句

SELECT * FROM TABLE where 日期 between 2018-01-20 and 2018-01-22

结果是
1 200 2018-01-20

现在我有个 需求
我要的结果是

1 200 2018-01-20
0 2018-01-21
0 2018-01-22
根据查询条件,没有记录 结果就显示 0。
怎么能实现这个功能 在线等很急.



...全文
816 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 2018-01-22
  • 打赏
  • 举报
回复
抱歉,前面说错了,应该使用连接中第一个 动态行转列
正怒月神 2018-01-22
  • 打赏
  • 举报
回复
你这个就应该使用行转列。 出现结果应该这样 id 2018-01-20 2018-01-21 2018-01-22 1 200 0 0 看一下这个当中的简单例子: http://blog.csdn.net/hanjun0612/article/details/56673854
  • 打赏
  • 举报
回复
引用 楼主 tiantian2324 的回复:
我有个 画面 有2个查询条件 启示日期 结束日期 比如是 2018-01-20 2018-01-22 表如下 ID 数量 日期 3 20 2018-01-19 1 200 2018-01-20 4 50 2018-01-23 我用上面查询 条件 写 SQL 语句 SELECT * FROM TABLE where 日期 between 2018-01-20 and 2018-01-22 结果是 1 200 2018-01-20 现在我有个 需求 我要的结果是 1 200 2018-01-20 0 2018-01-21 0 2018-01-22 根据查询条件,没有记录 结果就显示 0。 怎么能实现这个功能 在线等很急.
最优解决方案是在完成查询后可以获得一个datatable,然后处理datatable。 在日期范围内for each 一下然后循环读取datatable的内容,无内容就写0到新的datatable。
tiantian2324 2018-01-21
  • 打赏
  • 举报
回复
引用 1 楼 daixf_csdn 的回复:
看着应该就是个简单的按时间分组统计啊 select datecolumn, sum(...) from tablexxx group by datecolumn order by datecoumn
没理解 我的意思 , 是这个结果 有可能没有 21 22号的 数据 我也要 列出来 只是 数量 给0
圣殿骑士18 2018-01-21
  • 打赏
  • 举报
回复
看着应该就是个简单的按时间分组统计啊 select datecolumn, sum(...) from tablexxx group by datecolumn order by datecoumn

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧