Zeitlücken ermitteln

IchHH

Datenbank-Guru
Beiträge
282
Moin Moin,

ich suche gerade nach eine Idee wie ich die Zeilen 2, 25 und 27 angezeigt bekommen, weil diese bei den beiden (Members) eine Lücke zum letzten Ende darstellen. Wie mache ich das?

Code:
Zeile    Member    Von    Bis
1    1    01.08.2011    09.09.2012
2    1    13.09.2012    12.03.2013
3    1    01.04.2013    31.10.2017
4    1    01.11.2017    31.07.2018
5    1    01.08.2018    01.01.2510
6    2    01.12.2010    02.01.2011
7    2    03.01.2011    31.03.2011
8    2    01.04.2011    31.07.2011
9    2    01.08.2011    31.03.2012
10    2    01.04.2012    31.05.2012
11    2    01.06.2012    14.06.2012
12    2    15.06.2012    15.06.2012
13    2    16.06.2012    31.08.2012
14    2    01.09.2012    31.12.2012
15    2    01.01.2013    30.06.2013
16    2    01.07.2013    15.02.2014
17    2    16.02.2014    02.03.2014
18    2    03.03.2014    25.04.2014
19    2    26.04.2014    31.08.2014
20    2    01.09.2014    11.09.2014
21    2    12.09.2014    28.02.2015
22    2    01.03.2015    22.03.2015
23    2    23.03.2015    30.04.2015
24    2    01.05.2015    07.05.2015
25    2    01.06.2015    31.07.2015
26    2    01.08.2015    31.08.2015
27    2    14.06.2016    26.09.2016
28    2    01.01.2017    31.01.2017
29    2    01.02.2017    02.07.2017
 
Werbung:
Hrm. Hilft das weiter?

Code:
test=*# select * from ich_hh ;
 zeile | member |    von     |    bis     
-------+--------+------------+------------
     1 |      1 | 2011-08-01 | 2012-09-09
     2 |      1 | 2012-09-13 | 2013-03-12
     3 |      1 | 2013-04-01 | 2017-10-31
     4 |      1 | 2017-11-01 | 2018-07-31
     5 |      1 | 2018-08-01 | 2510-01-01
     6 |      2 | 2010-12-01 | 2011-01-02
     7 |      2 | 2011-01-03 | 2011-03-31
     8 |      2 | 2011-04-01 | 2011-07-31
     9 |      2 | 2011-08-01 | 2012-03-31
    10 |      2 | 2012-04-01 | 2012-05-31
    11 |      2 | 2012-06-01 | 2012-06-14
    12 |      2 | 2012-06-15 | 2012-06-15
    13 |      2 | 2012-06-16 | 2012-08-31
    14 |      2 | 2012-09-01 | 2012-12-31
    15 |      2 | 2013-01-01 | 2013-06-30
    16 |      2 | 2013-07-01 | 2014-02-15
    17 |      2 | 2014-02-16 | 2014-03-02
    18 |      2 | 2014-03-03 | 2014-04-25
    19 |      2 | 2014-04-26 | 2014-08-31
    20 |      2 | 2014-09-01 | 2014-09-11
    21 |      2 | 2014-09-12 | 2015-02-28
    22 |      2 | 2015-03-01 | 2015-03-22
    23 |      2 | 2015-03-23 | 2015-04-30
    24 |      2 | 2015-05-01 | 2015-05-07
    25 |      2 | 2015-06-01 | 2015-07-31
    26 |      2 | 2015-08-01 | 2015-08-31
    27 |      2 | 2016-06-14 | 2016-09-26
    28 |      2 | 2017-01-01 | 2017-01-31
    29 |      2 | 2017-02-01 | 2017-07-02
(29 rows)

test=*# select *, von - lag(bis) over (partition by member order by zeile) from ich_hh ;
 zeile | member |    von     |    bis     | ?column?
-------+--------+------------+------------+----------
     1 |      1 | 2011-08-01 | 2012-09-09 |         
     2 |      1 | 2012-09-13 | 2013-03-12 |        4
     3 |      1 | 2013-04-01 | 2017-10-31 |       20
     4 |      1 | 2017-11-01 | 2018-07-31 |        1
     5 |      1 | 2018-08-01 | 2510-01-01 |        1
     6 |      2 | 2010-12-01 | 2011-01-02 |         
     7 |      2 | 2011-01-03 | 2011-03-31 |        1
     8 |      2 | 2011-04-01 | 2011-07-31 |        1
     9 |      2 | 2011-08-01 | 2012-03-31 |        1
    10 |      2 | 2012-04-01 | 2012-05-31 |        1
    11 |      2 | 2012-06-01 | 2012-06-14 |        1
    12 |      2 | 2012-06-15 | 2012-06-15 |        1
    13 |      2 | 2012-06-16 | 2012-08-31 |        1
    14 |      2 | 2012-09-01 | 2012-12-31 |        1
    15 |      2 | 2013-01-01 | 2013-06-30 |        1
    16 |      2 | 2013-07-01 | 2014-02-15 |        1
    17 |      2 | 2014-02-16 | 2014-03-02 |        1
    18 |      2 | 2014-03-03 | 2014-04-25 |        1
    19 |      2 | 2014-04-26 | 2014-08-31 |        1
    20 |      2 | 2014-09-01 | 2014-09-11 |        1
    21 |      2 | 2014-09-12 | 2015-02-28 |        1
    22 |      2 | 2015-03-01 | 2015-03-22 |        1
    23 |      2 | 2015-03-23 | 2015-04-30 |        1
    24 |      2 | 2015-05-01 | 2015-05-07 |        1
    25 |      2 | 2015-06-01 | 2015-07-31 |       25
    26 |      2 | 2015-08-01 | 2015-08-31 |        1
    27 |      2 | 2016-06-14 | 2016-09-26 |      288
    28 |      2 | 2017-01-01 | 2017-01-31 |       97
    29 |      2 | 2017-02-01 | 2017-07-02 |        1
(29 rows)

test=*#
 
Werbung:
Zurück
Oben