Search Postgresql Archives

Re: Joining with calendar table

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/19/22 00:34, Pól Ua L. wrote:


Bonjour a tous/Hello all,


Small problem - I hope it not to trivial for here.

We created a table, then someone deleted some records and we want to put them back, but we not sure how.

CREATE TABLE dat AS
   SELECT
     GENERATE_SERIES
     (
       '2022-03-01'::DATE,
       '2022-04-18'::DATE,
       '1 DAY'
     ) AS jour;

So, all days from March 01 to Easter Monday.

Then someone delete the weekends.


delete from dat where extract(isodow from jour) IN (6, 7);



But, there are also actvities on these days  also, so I would like to put them back in.

I think I need a left join with the calendar table, but am not sure how to do this so we have full months again.



Could someone show me how this to be done please?

BEGIN;
insert into dat select j.a from GENERATE_SERIES
    (
      '2022-03-01'::DATE,
      '2022-04-18'::DATE,
      '1 DAY'
    ) as j(a) left join dat on j.a = dat.jour  where dat.jour is null;

INSERT 0 14


Verify the dates where added then:

COMMIT;

--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux