क्या SELECT
एक कथन में 2 sql कथनों के परिणामों में शामिल होना संभव है ? मेरे पास ऐसे कार्यों का एक डेटाबेस है जहां प्रत्येक रिकॉर्ड एक अलग कार्य है, जिसकी समय सीमा (और PALT
, जो कि INT
समय सीमा से कुछ दिनों तक है। Age
यह भी कई INT
दिनों का है।)
मैं एक तालिका रखना चाहता हूं जिसमें प्रत्येक व्यक्ति की तालिका हो, उनके पास जितने LATE
कार्य हों और जितने कार्य हों (यदि कोई हो)।
मुझे यह डेटा अलग-अलग तालिकाओं में आसानी से मिल सकता है, जैसे:
SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
रिटर्निंग डेटा जैसे:
ks # Tasks
person1 7
person2 3
और फिर मेरे पास है:
SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks
कौन सा रिटर्न:
ks # Late
person1 1
person2 1
और मैं इन दोनों select
कथनों के परिणामों में शामिल होना चाहता हूं (द्वारा KS
)
मैं एक अस्थायी तालिका का उपयोग करने से बचने की कोशिश कर रहा हूं, लेकिन अगर ऐसा करने का एकमात्र व्यावहारिक तरीका है, तो मैं इस तरह से टेम्प टेबल का उपयोग करने के बारे में अधिक जानना चाहूंगा।
मैंने कुछ प्रकार की count()
पंक्तियों को करने की भी कोशिश की , जो एक सशर्त को संतुष्ट करती है, लेकिन मैं यह पता नहीं लगा सका कि यह कैसे करना है। यदि यह संभव है, तो वह भी काम करेगा।
परिशिष्ट: क्षमा करें, मैं चाहता हूँ मेरे परिणाम के कॉलम हैं, करने के लिए KS
, Tasks
औरLate
KS # Tasks # Late
person1 7 1
person2 3 1
person3 2 0 (or null)
इसके अतिरिक्त, मैं चाहता हूं कि कोई व्यक्ति देर से कार्य करने के बावजूद भी दिखाई दे।
SUM(CASE WHEN Age > Palt THEN 1 ELSE 0 END) Late
अच्छी तरह से काम करता है, इस उत्तर के लिए धन्यवाद!
दो चुनिंदा कथन भी काम करते हैं, LEFT JOIN
उनमें शामिल होने के लिए ए का उपयोग भी काम करता है, और मैं अब समझता हूं कि select
इस फैशन में कई एस कैसे जुड़ना है