【发布时间】:2014-11-10 18:19:00
【问题描述】:
我有 2 张表,其中一张只包含日期,例如
table1:从日期中选择 display_date; --将显示整个月份的日期(01-31)
____________________________
display_date
___________________
01-OCT-14
02-OCT-14
03-OCT-14
.....SO ON
table2:从employee_Day 中选择display_date、weekday、day、month -- 这包含一些月份的日期(01、04、05 等)。它不会包含所有日期
______________________________________________
|display_date | weekday | day | month |
-----------------------------------------------
01-OCT-14 7 01 10
04-OCT-14 5 04 10
_______________________________________________
我需要加入这两个表,我必须得到所有日期的输出和我需要输出的记录的空值,如下所示
_____________________________________________
display_date | weekday | day | month |
_______________________________________________
01-OCT-14 7 01 10
02-OCT-14 5 02 10
03-OCT-14 4 03 10
select a.display_date, b.weekday, b.day, b.month from (subquery1) a, (subquery2) b where TO_CHAR(TO_DATE(a.DISPLAY_DATE,'DD-MON-RR'),'DD')= TO_CHAR(b.DAY_NUMBER)(+);
subquery1:选择第一个表值
subquery2 : 获取 secong 表值
我收到了缺少表达式错误。
如果表 2 中没有 display_date 的值,我需要在 DISPLAY_DATE 列中获取常用值,然后它必须加入表 1 的结果。 我不能使用联合,因为表 1 和 2 上的列不同 有什么想法吗?
【问题讨论】:
标签: sql oracle oracle11g oracle10g