È possibile unire i risultati di 2 SELECT
istruzioni sql in un'unica istruzione? Ho un database di compiti in cui ogni record è un compito separato, con scadenze (e un PALT
, che è solo uno INT
dei giorni dall'inizio alla scadenza. Age
È anche un INT
numero di giorni.)
Voglio avere una tabella che contenga ciascuna persona nella tabella, il numero di attività che hanno e il numero di LATE
attività che hanno (se ce ne sono).
Posso ottenere facilmente questi dati in tabelle separate, in questo modo:
SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
restituzione di dati come:
ks # Tasks
person1 7
person2 3
e poi ho:
SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks
che ritorna:
ks # Late
person1 1
person2 1
E voglio unire i risultati di queste due select
dichiarazioni (a cura di KS
)
Sto cercando di evitare l'uso di una tabella temporanea, ma se questo è l'unico modo pratico per farlo, mi piacerebbe saperne di più sull'uso delle tabelle temporanee in questo modo.
Ho anche provato a fare una sorta di count()
file che soddisfa un condizionale, ma non riesco nemmeno a capire come farlo. Se è possibile, funzionerebbe anche quello.
Addendum: Mi dispiace, voglio che i miei risultati hanno colonne per KS
, Tasks
eLate
KS # Tasks # Late
person1 7 1
person2 3 1
person3 2 0 (or null)
Inoltre, voglio che una persona si presenti anche se non ha compiti in ritardo.
SUM(CASE WHEN Age > Palt THEN 1 ELSE 0 END) Late
funziona bene, grazie per questa risposta!
LEFT JOIN
Funzionano anche due affermazioni selezionate, usare anche a per unirle e ora capisco come unire più messaggi select
in questo modo