Czy można połączyć wyniki 2 SELECTinstrukcji sql w jednej instrukcji? Mam bazę zadań, w której każdy rekord jest osobnym zadaniem, z terminami (a PALT, który jest tylko liczbą INTdni od początku do terminu. AgeTo również INTliczba dni.)
Chcę mieć tabelę, w której każda osoba ma w tabeli, liczbę zadań, które mają i liczbę LATEzadań, które mają (jeśli są).
Mogę łatwo uzyskać te dane w oddzielnych tabelach, na przykład:
SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
zwracanie danych takich jak:
ks # Tasks
person1 7
person2 3
a potem mam:
SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks
która zwraca:
ks # Late
person1 1
person2 1
Chcę połączyć wyniki tych dwóch selectstwierdzeń (przez KS)
Staram się unikać używania tabel tymczasowych, ale jeśli jest to jedyny praktyczny sposób, aby to zrobić, chciałbym dowiedzieć się więcej o używaniu tabel tymczasowych w ten sposób.
Próbowałem też zrobić jakieś count()wiersze, które spełniają warunek, ale nie mogłem też wymyślić, jak to zrobić. Jeśli to możliwe, to też by działało.
Uzupełnienie: Niestety, chcę mieć moje wyniki kolumn KS, TasksorazLate
KS # Tasks # Late
person1 7 1
person2 3 1
person3 2 0 (or null)
Dodatkowo chcę, żeby ktoś się pojawił, nawet jeśli nie ma spóźnionych zadań.
SUM(CASE WHEN Age > Palt THEN 1 ELSE 0 END) Late
działa dobrze, dzięki za tę odpowiedź!
Dwie instrukcje wyboru również działają, a LEFT JOINłączenie ich również działa, a teraz rozumiem, jak łączyć wiele selectw ten sposób