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

別のテーブルのランダムな一意の値を使用して列を更新する

    うーん。 。 。 任意が必要な場合は、横方向の結合を使用できます ランダムではなくアドレス 住所:

    select t1.*, t2.*
    from table1 t1 left join lateral
         (select t2.*
          from table2 t2
          where t2.company_number = t1.company_number and rownum = 1
         ) t2
         on 1=1;
    

    会社番号ごとに同じランダムアドレスが実際に必要な場合は、次を使用できます。

    select t1.*, t2.*
    from table1 t1 left join lateral
         (select t2.*,
                 row_number() over (partition by company_number order by dbms_random.random) as seqnum
          from table2 t2
         ) t2
         on t2.company_number = t1.company_number and
            seqnum = 1;
    

    こちら 構文が機能することを示すdb<>フィドルです。




    1. PG ::InvalidColumnReference:エラー:SELECT DISTINCTの場合、ORDERBY式を選択リストに表示する必要があります

    2. ID列を使用してテーブルを作成する方法

    3. SQL Serverで大文字を小文字に変換する方法– LOWER()

    4. Postgresが列が存在しないと言うのはなぜですか?