Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Scalanie dwóch wierszy w jeden podczas zastępowania wartości null

Najprostsze rozwiązanie:

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>

Jeśli masz 11gR2, możesz użyć nowej funkcji LITAGG(), ale poza tym wystarczy umieścić powyższą instrukcję w SELECT, która łączy kolumny NAME i NICKNAME.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Data Oracle Między zapytaniem

  2. Jak zaimplementować relacje jeden-do-jednego, jeden-do-wielu i wiele-do-wielu podczas projektowania tabel?

  3. Ukośnik czy nie ukośnik?

  4. LAST_DAY() Funkcja w Oracle

  5. Jak pozyskać pracowników ze swoimi menedżerami