sql >> Databáze >  >> RDS >> Oracle

Sloučení dvou řádků do jednoho při nahrazení hodnot null

Nejjednodušší řešení:

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>

Pokud máte 11gR2, můžete použít novou funkci LISTAGG(), ale jinak je dost jednoduché zabalit výše uvedený příkaz do SELECT, který spojí sloupce NAME a NICKNAME.



  1. ScaleGrid zvyšuje akciové kolo růstu od Spotlight Equity Partners s cílem urychlit expanzi a dále investovat do produktového plánu

  2. Povolte SQL Server Agent prostřednictvím SSMS

  3. Seskupování s případovým prohlášením

  4. Aktualizace SQLite