เป็นไปได้หรือไม่ที่จะเข้าร่วมผลลัพธ์ของ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
ในรูปแบบนี้ได้อย่างไร