sql >> データベース >  >> RDS >> Oracle

月に基づいて新しいデータを比較してテーブルに挿入します

    マイナスを使用できます

    select SYS_DB_NAME, ENTITY_ID, MONTH_ID
    from my_table 
    where MONTH_ID = to_char(sysdate, 'YYYY') || lpad( extract(month from sysdate), 2,'0')
    minus  
    select  SYS_DB_NAME, ENTITY_ID, MONTH_ID
    from my_table 
    where MONTH_ID = to_char(sysdate, 'YYYY') || lpad( (extract(month from sysdate) -1) , 2,'0') 
    

    行のコンテンツが必要な場合

    select * from  my_table  m
    inner join  (
        select SYS_DB_NAME, ENTITY_ID, MONTH_ID
        from my_table 
        where MONTH_ID = to_char(sysdate, 'YYYY') || lpad( extract(month from sysdate), 2,'0')
        minus  
        select  SYS_DB_NAME, ENTITY_ID, MONTH_ID
        from my_table 
        where MONTH_ID = to_char(sysdate, 'YYYY') || lpad( (extract(month from sysdate) -1) , 2,'0')
    ) T on m.SYS_DB_NAME = t.SYS_DB_NAME 
          AND m.ENTITY_ID = t.ENTITY_ID 
            AND m.MONTH_ID = t.MONTH_ID
    

    カウントするだけでよい場合

    select count(*) from  
    inner join  (
        select SYS_DB_NAME, ENTITY_ID, MONTH_ID
        from my_table 
        where MONTH_ID = to_char(sysdate, 'YYYY') || lpad( extract(month from sysdate), 2,'0')
        minus  
        select  SYS_DB_NAME, ENTITY_ID, MONTH_ID
        from my_table 
        where MONTH_ID = to_char(sysdate, 'YYYY') || lpad( (extract(month from sysdate) -1) , 2,'0')
    ) T
    


    1. AtlassianBitbucketを使用したPostgreSQLバージョン管理

    2. サブクエリでのOrderByによるSQLエラー

    3. BEGIN/ENDで使用されるバインド変数がクリアされます

    4. PL / SQLカーソルの変数/リテラル​​置換?