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
最初由 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]
从一开始就往外连接上想了,不过不知道该怎么来构造这个连续的天,呵呵,多谢你的回复。