पिछली क्वेरी को जारी रखते हुए मुझे लगता है कि नए कॉलम को चुनिंदा स्टेटमेंट में एक सशर्त एकत्रीकरण के साथ जोड़ा जा सकता है और एक और बाएं विफल तालिका के लिए शामिल हो सकते हैं।
यह काम करना चाहिए, लेकिन मुझे यकीन है कि क्वेरी में सुधार किया जा सकता है:
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 परीक्षण डेटा के साथ