0
日付範囲の間にギャップを取得したいと思います。ギャップをMM IDで区切る必要があります。Netezzaの日付範囲でギャップを見つけるためのSQL
誰かが私がNetezzaの
に以下INPUT解決するのに役立つてもらえ:1レコード(例:同じMM番号に2015年3月3日までの期間には、レコードが欠落していない
ID | MM Number | From | To
12345|4444444 |2015-01-03 |2015-02-02
12346|4444444 |2015-02-03 |2015-03-02
< <を〜2015-04-02
12347|4444444 |2015-04-03 |2015-05-01
12348|4444444 |2015-05-02 |2015-06-01
12349|4444444 |2015-06-02 |2015-07-01
12310|4444444 |2015-07-02 |2015-07-31
< < missinグラム一つのレコード(例:2015年8月1日からの期間に同じMM番号なし記録2015年8月31日に
12310|4444444|2015-09-01|2015-09-30
アウトプット予想:
MM No | Missing Start Date | Missing To Date
4444444 |2015-03-03 |2015-04-02
4444444 |2015-08-01 |2015-08-31
私はテーブルをしました下のデータで
create table icr_tmp
(
ID VARCHAR2(15),
NMI VARCHAR2(50),
INVOICE_START_DATE DATE,
INVOICE_END_DATE DATE);
insert into icr_tmp values('12345','4444444','03/01/2015','02/02/2015');
insert into icr_tmp values('12346','4444444','03/02/2015','02/03/2015');
insert into icr_tmp values('12347','4444444','03/04/2015','01/05/2015');
insert into icr_tmp values('12348','4444444','02/05/2015','01/06/2015');
insert into icr_tmp values('12349','4444444','02/06/2015','01/07/2015');
insert into icr_tmp values('12310','4444444','02/07/2015','31/07/2015');
insert into icr_tmp values('12310','4444444','01/09/2015','30/09/2015');
以下は、Oracleでは完全に動作しますが、Netezzaでは動作しません。
Netezzaで上記のSQLを実行するにはどうすればよいですか?