Có thể kết hợp các kết quả của câu lệnh SELECT 2 sql trong một câu lệnh không? Tôi có một cơ sở dữ liệu các nhiệm vụ mà mỗi bản ghi là một nhiệm vụ riêng biệt, với thời hạn (và một PALT, chỉ là INT trong ngày kể từ ngày bắt đầu đến hạn. Tuổi cũng là INT số ngày.)JOIN hai kết quả câu lệnh SELECT
Tôi muốn để có một bảng có mỗi người trong bảng, số nhiệm vụ họ có và số nhiệm vụ LATE họ có (nếu có.)
Tôi có thể lấy dữ liệu này trong các bảng riêng biệt một cách dễ dàng, như vậy:
SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
dữ liệu trở lại như:
ks # Tasks
person1 7
person2 3
và sau đó tôi có
SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks
trả về:
ks # Late
person1 1
person2 1
Và tôi muốn tham gia các kết quả của hai câu chọn (bởi KS)
Tôi đang cố gắng để tránh sử dụng một bảng tạm thời, nhưng nếu đó là cách duy nhất thực tế để làm điều này, tôi muốn biết thêm về cách sử dụng bảng tạm thời trong thời trang này.
Tôi cũng đã cố gắng thực hiện một số loại() # hàng đáp ứng điều kiện, nhưng tôi cũng không thể biết cách thực hiện điều đó. Nếu có thể, điều đó cũng sẽ hoạt động.
Phụ Lục: Xin lỗi, tôi muốn kết quả của tôi để có các cột cho KS, Tasks, và Late
KS # Tasks # Late
person1 7 1
person2 3 1
person3 2 0 (or null)
Thêm vào đó, tôi muốn có một người xuất hiện ngay cả khi họ không có nhiệm vụ muộn.
SUM (TRƯỜNG HỢP KHI Tuổi> Palt THEN 1 ELSE 0 END) Late hoạt động tốt, cảm ơn câu trả lời này!
Hai câu lệnh chọn cũng hoạt động, sử dụng LEFT JOIN để tham gia cũng hoạt động và giờ tôi đã hiểu cách tham gia nhiều lựa chọn theo cách này. Cảm ơn!
Bạn chưa đưa ra ví dụ về kết quả mong đợi. Do đó, một số câu trả lời là kết quả ghép nối. Một số người đang tham gia. Bạn muốn cái nào? – Phil
Xin lỗi, tôi muốn kết quả của tôi để có các cột cho KS, Tasks, và Late KS # Nhiệm vụ # Cuối PERSON1 7 1 nhân viên2 3 1 person3 2 0 (hoặc null) Thêm vào đó, tôi muốn có một người để hiển thị ngay cả khi họ không có nhiệm vụ muộn. Hiện tại đạt được điều này bằng cách sử dụng hai phương thức tuyên bố chọn với LEFT JOIN (trái ngược với INNER JOIN được đề xuất, hoạt động nhưng không hiển thị những người không có nhiệm vụ trễ vì chúng không tồn tại trong SELECT thứ hai . điều này với cột trễ là SUM (TRƯỜNG HỢP KHI Tuổi> Palt THÌ 1 ELSE 0 END) Late – sylverfyre