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

OracleのRcbind()関数に相当しますか?

    Oracleでは、順序付けられたデータを取得するために、いくつかの値を明示的に定義する必要があります。それがないと、クエリを実行するたびに異なる結果が得られる可能性があります。

    あなたのデータで、これは:

    WITH table1 AS
             (SELECT 1 rn, '1'            col1 FROM DUAL UNION
              SELECT 2 rn, '2'            col1 FROM DUAL UNION
              SELECT 3 rn, 'NO_PATTERN'   col1 FROM DUAL UNION
              SELECT 4 rn, 'RANDOM_STUFF' col1 FROM DUAL),
         table2 AS
             (SELECT 1 rn, 'aaa'     col2 FROM DUAL UNION
              SELECT 2 rn, '4'       col2 FROM DUAL UNION
              SELECT 3 rn, 'qwewqeq' col2 FROM DUAL UNION
              SELECT 4 rn, 'UUUUUU'  col2 FROM DUAL)
    SELECT col1, col2, t1.rn
    from (select  row_number() over (order by rn) as rn, col1 from table1 ) t1
           inner join 
         (select row_number() over (order by rn) as rn, col2 from table2 ) t2
         on (t1.rn = t2.rn)
    

    与える:

    COL1         COL2            RN
    ------------ ------- ----------
    1            aaa              1
    2            4                2
    NO_PATTERN   qwewqeq          3
    RANDOM_STUFF UUUUUU           4
    

    明示的な順序なしで、たとえば、これ

    WITH table1 AS
             (SELECT '1'            col1 FROM DUAL UNION
              SELECT '2'            col1 FROM DUAL UNION
              SELECT 'NO_PATTERN'   col1 FROM DUAL UNION
              SELECT 'RANDOM_STUFF' col1 FROM DUAL),
         table2 AS
             (SELECT 'aaa'     col2 FROM DUAL UNION
              SELECT '4'       col2 FROM DUAL UNION
              SELECT 'qwewqeq' col2 FROM DUAL UNION
              SELECT 'UUUUUU'  col2 FROM DUAL)
    SELECT col1, col2, t1.rn
    from (select  rownum as rn, col1 from table1 ) t1
           inner join 
         (select rownum as rn, col2 from table2 ) t2
         on (t1.rn = t2.rn)
    

    与える

    COL1         COL2            RN
    ------------ ------- ----------
    1            4                1
    2            UUUUUU           2
    NO_PATTERN   aaa              3
    RANDOM_STUFF qwewqeq          4
    


    1. トレースフラグ2389と新しいカーディナリティ推定量

    2. Rails Migration(MySQL)で、新しい列の位置を指定できますか?

    3. オラクルの日付シーケンス?

    4. MySQLオープンソースレポートサービス