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

データが存在する場合、そうでない場合は... Oracle SQLを使用していますか?

    QUERY1
    UNION ALL
    QUERY2
    WHERE NOT EXISTS (QUERY1)
    

    例:

    SELECT id
      FROM products
        UNION ALL 
    SELECT  id
      FROM old_products
        WHERE NOT EXISTS (SELECT id  FROM products) 
    

    クエリ:

    SELECT * 
        FROM Table 
    WHERE ID = 7 
        AND Flag = 1
    UNION ALL
    SELECT * 
        FROM Table 
    WHERE ID = 7 
        AND NOT EXISTS (select * from Table where ID = 7 and Flag = 1)
    

    一意の行を識別するには、これも試すことができます:

    WITH qry AS
    (
        SELECT a.* ,
            ROW_NUMBER() OVER(PARTITION BY id ORDER BY  Flag DESC ) rn
            FROM Table a
        WHERE ID = 7  -- THIS CAN BE PARAMETERIZED
    )
    SELECT * 
        FROM qry
    WHERE rn = 1
    


    1. mysqlおよびhsqldbと互換性のあるTEXTフィールド

    2. 3つの異なる日付間隔のデータで1つの列を数回表示する

    3. データストレージ:アーカイブおよびHSMのRESTとPOSIX

    4. MySQLでは、数字を引用する必要がありますか?