Czy można dołączyć do wyników 2 sql SELECT w jednej instrukcji? Mam bazę danych zadań, w których każdy rekord jest oddzielnym zadaniem, z terminami (i PALT, który jest tylko INT dni od początku do terminu. Wiek jest również INT liczba dni.)DOŁĄCZ dwie wypowiedzi SELECT
Chcę aby mieć stół, który ma każdą osobę w tabeli, liczbę zadań, które mają, i liczbę zadań LATE, które mają (jeśli występują).
Mogę łatwo uzyskać te dane w oddzielnych tabelach, na przykład:
SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
powracający dane 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
I chcę dołączyć wyniki tych dwóch wybranych wypowiedzi (przez KS)
próbuję Aby uniknąć używania tabeli tymczasowej, ale jeśli jest to jedyny praktyczny sposób, aby to zrobić, chciałbym wiedzieć więcej o używaniu tabel tymczasowych w ten sposób.
Próbowałem również wykonać pewnego rodzaju count() # wierszy, które spełniają warunkowe, ale nie mogłem dowiedzieć się, jak to zrobić. Jeśli to możliwe, to też by działało.
Uzupełnienie: Niestety, chcę mieć moje wyniki kolumn dla KS, zadania, a późniejsze
KS # Tasks # Late
person1 7 1
person2 3 1
person3 2 0 (or null)
Dodatkowo chcę osoba, aby pokazać się, nawet jeśli nie mają zaległych zadań.
SUMA (SPRAWA KIEDY Wiek> Palt THEN 1 ELSE 0 END) Późno działa dobrze, dziękuję za tę odpowiedź!
Dwie instrukcje wyboru również działają, użycie LEWEGO DOŁĄCZENIA do nich również działa, a teraz rozumiem, jak dołączyć do wielu wyborów w ten sposób. Dzięki!
Nie podałeś przykład oczekiwanego wyniku. Niektóre odpowiedzi są więc konkatenacyjne. Niektóre dołączają. Który chcesz? – Phil
Niestety, chcę moje wyniki mają kolumny KS, zadania, a późniejsze KS # Zadania # Późno PERSON1 7 1 PERSON2 3 1 person3 2 0 (lub null) Dodatkowo chcę osobę, aby pokazać nawet jeśli nie mają opóźnionych zadań. Obecnie osiągnięciu tego za pomocą dwóch Wybierz metodę oświadczenie o LEFT JOIN (w przeciwieństwie do sugerowana INNER JOIN, który działa, ale nie pokazuje osób bez późnych zadań, ponieważ nie istnieje w drugim SELECT osiągnięcia także to z późną kolumną będącą SUMA (PRZYPADKU, GDY Wiek> Palt TO 1 ELSE 0 END) Późno – sylverfyre