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

टी-एसक्यूएल में पिछले महीनों के डेटा के आधार पर गुम महीनों के मूल्यों का निर्धारण कैसे करें

मैं अनुक्रमिक पूर्णांकों को 1 से दस लाख या उससे भी अधिक संख्या में रखने वाली संख्या तालिका बनाकर शुरू करूंगा। एक बार जब आप इसे समझ लेते हैं तो ये बहुत काम आते हैं।

उदाहरण के लिए, यहां बताया गया है कि 2008 में हर महीने की पहली तारीख कैसे प्राप्त करें:

select firstOfMonth = dateadd( month, n - 1, '1/1/2008')
from Numbers
where n <= 12;

अब, आप OUTER APPLY का उपयोग करके प्रत्येक तिथि के लिए नवीनतम लेन-देन का पता लगाने के लिए इसे एक साथ रख सकते हैं:

with Dates as (
    select firstOfMonth = dateadd( month, n - 1, '1/1/2008')
    from Numbers
    where n <= 12
)
select d.firstOfMonth, t.TransactionValue
from Dates d
outer apply (
    select top 1 TransactionValue
    from Transactions
    where TransactionDate <= d.firstOfMonth
    order by TransactionDate desc
) t;

इससे आपको वह मिल जाएगा जिसकी आप तलाश कर रहे हैं, लेकिन नंबर तालिका बनाने का सबसे अच्छा तरीका खोजने के लिए आपको Google को थोड़ा चक्कर लगाना पड़ सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में चयन क्वेरी में कॉलम उपनाम को समझें - SQL सर्वर / TSQL ट्यूटोरियल भाग 115

  2. ATAN () SQL सर्वर में उदाहरण

  3. क्या टेबल कॉलम समान होने पर EXCEPT जॉइन से तेज़ी से निष्पादित होता है?

  4. बल्क इंसर्ट Sql सर्वर लाखों का रिकॉर्ड

  5. SQL सर्वर त्रुटि 113:अनुपलब्ध अंतिम टिप्पणी चिह्न '*/'