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

Memperbarui Baris dengan Subquery Mengembalikan Beberapa Baris

Di Oracle Anda dapat menyertakan kueri yang hanya mengembalikan satu baris (subkueri skalar) dalam tanda kurung dan menggunakannya seperti Anda menggunakan variabel/kolom:

UPDATE Table1 t1
SET D = (SELECT t2.D + t3.D 
         FROM Table2 t2
             ,Table3 t3
         WHERE t1.P = t2.P 
           AND t1.A = t3.A);

Jika subquery mengembalikan lebih dari satu baris, Anda mungkin ingin menggunakan SUM() di subquery.Edit:Jika Anda tidak menggabungkan tabel di subquery, Anda mungkin harus menggunakan dua subquery sebagai gantinya.

UPDATE Table1 t1
SET D = (SELECT sum(t2.D) 
         FROM Table2 t2
         WHERE t1.P = t2.P)
        +
        (SELECT sum(t3.D)
         FROM Table3 t3
         WHEREt1.A = t3.A)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ubah baris menjadi kolom di oracle10g

  2. Cara mengembalikan hasil dari banyak pernyataan pilih sebagai satu tabel khusus

  3. Bagaimana saya harus mengedit kueri untuk meningkatkan kinerja sambil mempertahankan struktur yang ada?

  4. Memuat file eksternal ke dalam database oracle

  5. Mengambil data dari tabel menggunakan PL/SQL