我有两张桌子.
与客户和日期的订单表.数据仓库中的日期维度表.
订单表不包含给定月份中每个日期的活动,但我需要返回填充日期和客户的差距的结果集.
例如,我需要这个:
Customer Date =============================== Cust1 1/15/2012 Cust1 1/18/2012 Cust2 1/5/2012 Cust2 1/8/2012
看起来像这样:
Customer Date ============================ Cust1 1/15/2012 Cust1 1/16/2012 Cust1 1/17/2012 Cust1 1/18/2012 Cust2 1/5/2012 Cust2 1/6/2012 Cust2 1/7/2012 Cust2 1/8/2012
这似乎是左外连接,但它没有返回预期的结果.这是我正在使用的,但这并不是按预期返回日期表中的每个日期.
SELECT o.customer,
d.fulldate
FROM datetable d
LEFT OUTER JOIN orders o
ON d.fulldate = o.orderdate
WHERE d.calendaryear IN ( 2012 );
Run Code Online (Sandbox Code Playgroud) 在Oracle中,有一个直接的方法来获得一周的第一天给出一周的数字吗?
例如,今天的日期是12/4/2012.如果我运行:从双重选择to_char(sysdate,'WW'); 它返回49作为周数.
我想做的是第一天以某种方式返回2012年12月2日...给出第49周(假设星期日是一周的第一天).
有任何想法吗?在此先感谢您的帮助!