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

null値を置き換えながら、2つの行を1つにマージします

    最も簡単な解決策:

    SQL> select * from t69
      2  /
    
    NAME       NICKNAME           ID
    ---------- ---------- ----------
    Joe        Joey               14
    Joe                           14
    Michael                       15
               Mick               15
               Mickey             15
    
    SQL> select max(name) as name
      2         , max(nickname) as nickname
      3         , id
      4  from t69
      5  group by id
      6  /
    
    NAME       NICKNAME           ID
    ---------- ---------- ----------
    Joe        Joey               14
    Michael    Mickey             15
    
    SQL>
    

    11gR2を使用している場合は、新しいLISTAGG()関数を使用できますが、それ以外の場合は、NAME列とNICKNAME列を連結するSELECTで上記のステートメントをラップするだけで十分です。



    1. PostgreSQLでJSONB値をマージしますか?

    2. SQL ServerのDATALENGTH()とは何ですか?

    3. PostgreSQLデータベースを使用してWebアプリで完全なオフライン機能を使用するにはどうすればよいですか?

    4. MySQLのデータベースクエリ効率の最大化-パート1-