with tipos resueltos multitablas examen ejercicios ejemplos ejemplo consultas con agrupadas sql union

resueltos - tipos de consultas sql



Usar union y count(*) juntos en una consulta SQL (3)

Es tu objetivo ...

  1. Para contar todas las instancias de "Bob Jones" en ambas tablas (por ejemplo)
  2. ¿Para contar todas las instancias de "Bob Jones" en Results en una fila y todas las instancias de "Bob Jones" en Archive_Results en una fila separada?

Asumiendo que es # 1 querrías algo como ...

SELECT name, COUNT(*) FROM (SELECT name FROM Results UNION ALL SELECT name FROM Archive_Results) GROUP BY name ORDER BY name

Tengo una consulta SQL, se ve algo como esto:

select name, count (*) from Results group by name order by name

y otro, idéntico que se carga desde una tabla de resultados de archivo, pero los campos son los mismos.

select name, count (*) from Archive_Results group by name order by name

¿Cómo combinaría los dos en una sola consulta? (Así que el grupo por aún funcionaría correctamente). Intenté con unir todo, sin embargo, no funcionará. ¿Qué me estoy perdiendo?


Si tiene índices de soporte y recuentos relativamente altos, algo como esto puede ser considerablemente más rápido que las soluciones sugeridas:

SELECT name, MAX(Rcount) + MAX(Acount) as TotalCount FROM ( SELECT name, count(*) as Rcount, 0 as Acount FROM Results GROUP BY name UNION ALL SELECT name, 0, count(*) FROM Archive_Results GROUP BY name ) AS Both GROUP BY name ORDER BY name;


select tem.name, count(*) from(select name from results union all select name from archive_results) as tem group by name order by name