É possível juntar os resultados de 2 SELECT
instruções sql em uma instrução? Eu tenho um banco de dados de tarefas em que cada registro é uma tarefa separada, com prazos (e a PALT
, que fica a apenas alguns INT
dias do início ao prazo. Age
Também é um INT
número de dias).
Quero ter uma tabela que contenha cada pessoa na tabela, o número de tarefas que eles têm e o número de LATE
tarefas que eles têm (se houver).
Eu posso obter esses dados em tabelas separadas facilmente, assim:
SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
retornando dados como:
ks # Tasks
person1 7
person2 3
e então eu tenho:
SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks
que retorna:
ks # Late
person1 1
person2 1
E eu quero juntar os resultados dessas duas select
declarações (pelo KS
)
Estou tentando evitar o uso de uma tabela temporária, mas se essa for a única maneira prática de fazer isso, gostaria de saber mais sobre o uso de tabelas temporárias dessa maneira.
Eu também tentei fazer algum tipo de count()
linha que atenda a uma condição, mas também não consegui descobrir como fazer isso. Se for possível, isso também funcionaria.
Adenda: Desculpe, eu quero meus resultados para ter colunas para KS
, Tasks
eLate
KS # Tasks # Late
person1 7 1
person2 3 1
person3 2 0 (or null)
Além disso, quero que uma pessoa apareça mesmo que não tenha tarefas atrasadas.
SUM(CASE WHEN Age > Palt THEN 1 ELSE 0 END) Late
funciona bem, obrigado por esta resposta!
Duas instruções select também funcionam, usar a LEFT JOIN
para se juntar a elas também funciona, e agora eu entendo como unir vários select
s dessa maneira