เป็นไปได้หรือไม่ที่จะเข้าร่วมผลลัพธ์ของSELECTข้อความสั่ง2 sql ในข้อความเดียว? ฉันมีฐานข้อมูลของงานที่แต่ละระเบียนเป็นงานแยกต่างหากพร้อมกำหนดเวลา (และ a 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)
ฉันกำลังพยายามหลีกเลี่ยงการใช้ตาราง temp แต่ถ้าเป็นวิธีเดียวที่ทำได้จริงฉันต้องการทราบเพิ่มเติมเกี่ยวกับการใช้ตาราง temp ในแบบนี้
ฉันยังพยายามทำ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
ทำงานได้ดีขอบคุณสำหรับคำตอบนี้!
ข้อความสองข้อที่เลือกใช้งานได้เช่นกันการใช้ a LEFT JOINเพื่อเข้าร่วมยังทำงานได้และตอนนี้ฉันเข้าใจแล้วว่าจะเข้าร่วมหลายรายการselectในรูปแบบนี้ได้อย่างไร