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

2つのテーブル間の1対多の関係に対するOracleSELECTQUERY

    1つの方法は、条件付き集計を使用します:

    select t1.PERSON_ID, t1.FIRST_NAME, t1.MIDDLE_NAME, t1.LAST_NAME, 
           max(case when t2.phone_type = 'BUSINESS' then t2.PHONE_NUMBER end) as business,
           max(case when t2.phone_type = 'PERSONAL' then t2.PHONE_NUMBER end) as personal,
           max(case when t2.phone_type = 'HOME' then t2.PHONE_NUMBER end) as home
    from Table1 t1 inner join
         Table2 t2
         on t2.PERSON_ID = t1.PERSON_ID
    where t2.PHONE_TYPE in ('BUSINESS', 'PERSONAL', 'HOME') 
    group by t1.PERSON_ID, t1.FIRST_NAME, t1.MIDDLE_NAME, t1.LAST_NAME;
    


    1. Oracleの動的SQL内の並列ヒントは並列で実行されますか?

    2. SQLSELECTステートメントの式の値を他の式に再利用する

    3. MySql:Tinyint(2)とtinyint(1)-違いは何ですか?

    4. Access 2016 For Dummies Cheat Sheet