मुद्दा एक कार्टेशियन उत्पाद है (जहां एक तालिका में पंक्तियों को अन्य तालिकाओं में पंक्तियों से गुणा किया जा रहा है)। निम्नलिखित दृष्टिकोण यह धारणा बना रहा है कि प्रत्येक परियोजना में कर्मचारियों के साथ एक कार्यभार होता है (जिनमें से सभी सभी कर्मचारियों के लिए खाते हैं क्योंकि आपकी क्वेरी कर्मचारी तालिका में शामिल नहीं होती है) और कार्य। अगर ऐसा नहीं है, तो बाहरी जॉइन बनाम इनर जॉइन करने पर विचार करें।
परियोजना संख्या के आधार पर प्रत्येक एकत्रीकरण को अपनी व्युत्पन्न तालिका में करने का विचार है। फिर हम सार्थक परिणाम प्राप्त करने के लिए परियोजना संख्या द्वारा प्रत्येक व्युत्पन्न तालिका में शामिल हो सकते हैं।
SELECT
p.NAME,
w.workload_sum AS "Total Workload",
e.employee_count AS "Total Employees",
t.task_count AS "Finished Tasks"
from p
JOIN (select pno, sum(workload) as workload_sum
from w
group by pno) w ON (w.pno=p.pnumber)
JOIN (select pno, count(distinct w.essn) as employee_count
from w
group by pno) e ON (e.pno=p.pnumber)
JOIN (select pno, count(distinct t.name) as task_count
from t
group by pno) t ON (t.pno=p.pnumber)
WHERE t.END_DATE is NOT NULL;