Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ऑरैकल टेबल में पंक्तियों की तुलना करें और मिलान वाले अपडेट करें

परीक्षण नहीं किया गया लेकिन केवल 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. पैरामीटर में एक और एकाधिक आउट पैरामीटर के साथ Oracle रन प्रक्रिया

  2. Oracle शेड्यूलर में INTERVAL=0 का क्या अर्थ है?

  3. ऑरैकल में एक निश्चित समय में कितना सीपीयू खपत करता है

  4. PLSQL - पुनरावर्ती लूप के कारण ट्रिगर में सम्मिलित करें

  5. Oracle में XLSX (एक्सेल) फ़ाइल पढ़ें और आयात करें