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

Oracle DB:最初のクエリが空の場合、2番目のクエリを返します

    WITHを利用して、これをより良く(そして維持しやすく)することができます:

    WITH query1 as (
        select 1, 2
        from dual
        where 1=0
        connect by level <= 10
    ),
    query2 as (
        select 3, 4
        from dual
        connect by level <= 10
    )
    select *
    from query1
    union all
    select *
    from query2
    where not exists (
        select null
        from query1
    );
    

    これは、query2から10行を返す必要があります。 where 1 =0をquery1から削除すると(実際に行が返されるようになります)、query1から10行を取得する必要があります。



    1. WindowsにPostgreSQL用のクライアントツールだけをインストールするにはどうすればよいですか?

    2. エミュレートされたプリペアドステートメントと実際のプリペアドステートメント

    3. PostgreSQLがこの単純な完全結合を実行できないのはなぜですか?

    4. PHPで同じIDの行を数えます