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

MS SQL Server-2008 से कई तालिकाओं का संदर्भ लेते हुए डेटा निकालना

पिछली क्वेरी को जारी रखते हुए मुझे लगता है कि नए कॉलम को चुनिंदा स्टेटमेंट में एक सशर्त एकत्रीकरण के साथ जोड़ा जा सकता है और एक और बाएं विफल तालिका के लिए शामिल हो सकते हैं।

यह काम करना चाहिए, लेकिन मुझे यकीन है कि क्वेरी में सुधार किया जा सकता है:

select 
    d.LOTQty, 
    ApprovedQty = count(d.SerialNo),
    d.DispatchDate,
    Installed = count(a.SerialNo) + count(r.NewSerialNo),
    DOA    = sum(case when datediff(day, coalesce(a.ActivationDate,r.RecordDate), f.FailedDate) <= 10 then 1 else 0 end),
    Bounce = sum(case when datediff(day, coalesce(a.ActivationDate,r.RecordDate), f.FailedDate) between 11 and 180 then 1 else 0 end)
from 
    Despatch d 
left join 
    Activation a 
     on d.SerialNo= a.SerialNo
    and d.DispatchDate <= a.ActivationDate 
    and d.LOTQty = a.LOTQty
left join 
    Replaced r 
      on d.SerialNo= r.NewSerialNo
     and d.DispatchDate <= r.RecordDate
     and (a.ActivationDate is null or a.ActivationDate < d.DispatchDate)
left join 
    Failed f 
      on (f.FailedSINo = a.SerialNo)
      or (f.FailedSINo = r.NewSerialNo)     
where 
    d.LOTQty = 15
group by 
    d.LOTQty, d.DispatchDate

नमूना SQL Fiddle परीक्षण डेटा के साथ




  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. SQL सर्वर सिस्टम डेटाबेस - MSDB रखरखाव

  3. SQL सर्वर (T-SQL) में उपयोगकर्ता की डिफ़ॉल्ट भाषा कैसे खोजें

  4. एमडीएफ फ़ाइल संलग्न करते समय SQL सर्वर संस्करण त्रुटि

  5. SQL सर्वर में एक कॉलम में गैर-संख्यात्मक मान खोजें