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

Bandingkan Baris di tabel oracle dan perbarui yang cocok

Belum diuji tetapi sesuatu seperti ini hanya menggunakan SQL:

MERGE INTO your_table dst
USING (
  SELECT ROW_NUMBER() OVER (
             PARTITION BY tDate, Product, Price, Quantity, BuySell
             ORDER BY ID
           ) AS idx,
         COUNT( CASE BuySell WHEN 'Buy' THEN 1 END ) OVER (
             PARTITION BY tDate, Product, Price, Quantity
           ) AS num_buy,
         COUNT( CASE BuySell WHEN 'Sell' THEN 1 END ) OVER (
             PARTITION BY tDate, Product, Price, Quantity
           ) AS num_sell
  FROM   your_table
) src
ON ( src.ROWID = dst.ROWID AND src.idx <= LEAST( src.num_buy, src.num_sell ) )
WHEN MATCHED THEN
  UPDATE SET Status = 'Matched';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pernyataan FORALL Dengan Batas Bawah &Atas di Database Oracle

  2. Bisakah saya bergabung di seluruh sumber data di SSRS?

  3. Cara menampilkan pesan kesalahan plsql dengan tindakan dinamis

  4. Buat lebih dari satu prosedur dalam file SQL?

  5. Unggah gambar sebagai BLOB di Oracle menggunakan PHP