如何使得查询返回的不连续数据补齐呢,扔个sql给偶吧,谢谢

[复制链接]
查看11 | 回复5 | 2005-11-2 13:35:57 | 显示全部楼层 |阅读模式
比如我要按天统计一个月的销售情况,那么当某一天没有销售的时候,统计结果就不会显示这天出来,我想要的结果是把这天显示出来,然后sum出来的结果是0,该怎么做呢?
回复

使用道具 举报

千问 | 2005-11-2 13:35:57 | 显示全部楼层
關注中
回复

使用道具 举报

千问 | 2005-11-2 13:35:57 | 显示全部楼层
外面再写个select
同时用上nvl()试试
回复

使用道具 举报

千问 | 2005-11-2 13:35:57 | 显示全部楼层
SELECT B.dat,nvl(col,0)
FROM (SELECT trunc(sysdate) AS dat,200 AS col FROM dual) A,
(SELECT (trunc(sysdate,'mm') + LEVEL - 1) AS dat FROM dual CONNECT BY LEVEL <= 30) B
WHERE A.Dat(+) = B.Dat
ORDER BY B.Dat
回复

使用道具 举报

千问 | 2005-11-2 13:35:57 | 显示全部楼层
最初由 yangshuo 发布
[B]SELECT B.dat,nvl(col,0)
FROM (SELECT trunc(sysdate) AS dat,200 AS col FROM dual) A,
(SELECT (trunc(sysdate,'mm') + LEVEL - 1) AS dat FROM dual CONNECT BY LEVEL <= 30) B
WHERE A.Dat(+) = B.Dat
ORDER BY B.Dat [/B]

从一开始就往外连接上想了,不过不知道该怎么来构造这个连续的天,呵呵,多谢你的回复。
回复

使用道具 举报

千问 | 2005-11-2 13:35:57 | 显示全部楼层
构造连续的数
http://lastwinner.itpub.net/post/7102/46619
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行