我需要找出一种方法来返回所有月份的值,即使没有匹配。例如,我目前有9月到1月的数据,但由于没有9月或10月的观点,因此没有匹配,因为如果没有页面浏览量,数据集不显示值。
我需要的是在没有匹配的情况下显示null或0,而不是没有结果。
SELECT NULL LINK,
u.page_name,
TO_CHAR( s.data_date, 'Month-YYYY') as "Month",
COALESCE(SUM(s.page_views),0) as "Product Pages"
from URL_RELATE u
FULL OUTER JOIN SITE_DATA s on SUBSTR(u.url,38,7) = SUBSTR(s.page,22,7)
or u.url = s.page
Where u.page_name = :P22_PRODUCT_PAGES_1
and u.TRC_CRC = 'TRC'
group by s.data_date,
u.page_name
order by s.data_date
答案 0 :(得分:1)
你最简单的赌注(在我看来)可能是有一张日历表(我过去使用过“假期表”,如果我需要所有日期,日期,月份等)。您只需使用相应的列从日历表中将数据表连接到数据表,您将获得所有月份,而不仅仅是具有值的月份。
以下是创建日历表的示例: