Oracle SQL连接本地表

时间:2019-05-19 08:13:09

标签: sql excel oracle powerpivot

我通过oracle连接/ sql包含了一些Excel数据。 它只是典型的SELECT-FROM-WHERE SQL,例如:

SELECT
   ID9.XDAT
   ID9.xIDD
   ID9.XSTR
FROM
   POOLGEN.OPPPID9 ID9
WHERE
   ID9.XIDD > 100000

现在我的目标是过滤当月的数据。 该月是特定的公司/工作月。 例如:一月是从28.12.2018-25.01.2019。

我已经将此特定的日历包括到Excel(Power Pivot)的数据模型中。

是否可以将SQL内部已经过滤到本地Excel文件和当前月份?

XDAT具有DD.MM.YYYY的结构

最好的问候

1 个答案:

答案 0 :(得分:0)

一个选择是将“特定日历”移入Oracle。例如,创建一个包含这些日期的表:

create table business_months 
  (b_month   number,
   date_from date,
   date_to   date
  );
insert into business_months values (1, date '2018-12-28', date '2019-01-25');
insert into business_months values (2, date '2019-01-26', date '2019-02-25');
etc.

然后展开当前查询,以使其使用business_months表:

select id9.xdat
       id9.xidd,
       id9.xstr
from poolgen.oppid9 id9 
 join business_months bm on id9.xdat between bm.date_from and bm.date_to
where bm.b_month = 1;    --> January