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

शून्य मान को नवीनतम मान से बदलें

मुझे लगता है कि यह आपके मामले के लिए काम करेगा:

SELECT 
    t1.PositionDate,
    t1.Currency,
    COALESCE(t1.Value,t2.value) AS Value
FROM t1
LEFT join (SELECT MAX(PositionDate) AS PositionDate,Currency FROM t2 WHERE PositionDate < t1.PositionDate  GROUP BY Currency) tjoin
LEFT join t2 on tjoin.currency = t2.Currency and tjoin.PositionDate = t2.PositionDate


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल का चयन करें जहां सबक्वायरी में कोई परिणाम नहीं देता है

  2. Sqlcmd:त्रुटि:Microsoft SQL सर्वर मूल क्लाइंट 10.0:संचार लिंक विफलता

  3. अदिश चर घोषित करना चाहिए

  4. SQL सर्वर अधिकतम पंक्तियाँ जिन्हें एकल सम्मिलित स्टेटमेंट में सम्मिलित किया जा सकता है

  5. मानों के रूप में एकाधिक उपश्रेणियों के साथ सम्मिलित करें