Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana cara menghasilkan penggabungan dua set data dengan pernyataan SQL pilih (Oracle DBMS)?

Roman, Anda perlu melakukan penggabungan luar penuh pada pilihan Anda sehingga, untuk id jenis acara apa pun (dan saya berasumsi bahwa Anda akan memiliki 0 atau 1 baris di tabel masa lalu dan masa depan Anda untuk id jenis acara tertentu), Anda akan menampilkan satu baris, dan tanggal null dan non-null yang sesuai.

Jawaban pertama tidak akan menggabungkan tanggal dari dua sumber menjadi satu baris, yang saya yakin Anda minta.

Jawaban kedua lebih dekat, tetapi hanya akan berfungsi untuk baris dengan tanggal yang lalu dan yang akan datang (yaitu:satu di setiap tabel) karena gabungan dalam.

Contoh:

insert into event_target (event_type_id, past_event_date, future_event_date)
select nvl(p.event_type_id, f.event_type_id), p.event_date, f.event_date
from
events_source_1 p full outer join
events_source_2 f on p.event_type_id = f.event_type_id

Perhatikan bahwa fungsi nvl adalah untuk Oracle dan akan menggunakan non-null pertama yang dilihatnya. ISNULL dapat digunakan untuk SQL Server.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Prosedur tersimpan untuk menghapus catatan di Oracle DBMS

  2. Bagaimana cara mereplikasi skema dengan hak istimewa yang sama dari akun yang ada di Oracle?

  3. Bagaimana cara mengembalikan serangkaian hasil dari Jendela Kueri di Oracle SQL Developer?

  4. Mengapa pernyataan While (rs.next()) berakhir setelah iterasi pertama?

  5. Tabel Sementara Global