¿Es posible unir los resultados de 2 SELECTdeclaraciones sql en una declaración? Tengo una base de datos de tareas donde cada registro es una tarea separada, con fechas límite (y una PALT, que es solo INTde días desde el inicio hasta la fecha límite. AgeTambién es un INTnúmero de días).
Quiero tener una tabla que tenga a cada persona en la tabla, la cantidad de tareas que tienen y la cantidad de LATEtareas que tienen (si corresponde).
Puedo obtener estos datos en tablas separadas fácilmente, así:
SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
devolviendo datos como:
ks # Tasks
person1 7
person2 3
y luego tengo:
SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks
que devuelve:
ks # Late
person1 1
person2 1
Y quiero unir los resultados de estas dos selectdeclaraciones (por el KS)
Estoy tratando de evitar el uso de una tabla temporal, pero si esa es la única forma práctica de hacerlo, me gustaría saber más sobre el uso de tablas temporales de esta manera.
También intenté hacer algún tipo de count()filas que satisfagan un condicional, pero tampoco pude encontrar la manera de hacerlo. Si es posible, eso también funcionaría.
Adición: Lo siento, yo quiero que mis resultados tengan columnas de KS, TasksyLate
KS # Tasks # Late
person1 7 1
person2 3 1
person3 2 0 (or null)
Además, quiero que aparezca una persona incluso si no tienen tareas tardías.
SUM(CASE WHEN Age > Palt THEN 1 ELSE 0 END) Late
funciona bien, gracias por esta respuesta!
Dos sentencias select también funcionan, usar un LEFT JOINpara unirlas también funciona, y ahora entiendo cómo unir múltiples selects de esta manera

Respuestas:
fuente
Intenta algo como esto:
fuente
Uso
UNION:O
UNION ALLsi quieres duplicados:fuente
Si Age y Palt son columnas en la misma tabla, puede contar (*) todas las tareas y sumar solo las últimas como esta:
fuente
puedes usar la
UNION ALLpalabra clave para esto.Aquí está el documento de MSDN para hacerlo en T-SQL http://msdn.microsoft.com/en-us/library/ms180026.aspx
UNION ALL: combina el conjunto de resultados
UNIÓN: hace algo así como establecer una unión y no genera valores duplicados
Para la diferencia con un ejemplo: http://sql-plsql.blogspot.in/2010/05/difference-between-union-union-all.html
fuente