Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Contar registros devueltos por UNION

Estas en el tema de Contar registros devueltos por UNION en el foro de SQL Server en Foros del Web. Buenas a todos, Necesito contar los registros que devuelve esta consulta de UNION. Código: SELECT Id_Usuario FROM Candidatos_FormacionComplementaria WHERE Id_Usuario = 195737 UNION ALL SELECT ...
  #1 (permalink)  
Antiguo 11/07/2008, 01:36
yz!
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Contar registros devueltos por UNION

Buenas a todos,

Necesito contar los registros que devuelve esta consulta de UNION.
Código:
SELECT Id_Usuario FROM Candidatos_FormacionComplementaria WHERE Id_Usuario = 195737 
UNION ALL 
SELECT Id_Usuario FROM Candidatos_FormacionReglada WHERE Id_Usuario = 195737
He estado haciendo varias pruebas intentando un SELECT COUNT(Subconsulta) y similares, pero no he conseguido avanzar y no he encontrado mucha información al respecto.

¿Alguién me puede ayudar?
  #2 (permalink)  
Antiguo 11/07/2008, 08:28
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Respuesta: Contar registros devueltos por UNION

Cual es el inconveniente de hacer algo como esto?

Código:
Select count(1) 
From 
(SELECT Id_Usuario FROM Candidatos_FormacionComplementaria WHERE Id_Usuario = 195737 
UNION ALL 
SELECT Id_Usuario FROM Candidatos_FormacionReglada WHERE Id_Usuario = 195737) sub
Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 14/07/2008, 01:01
yz!
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contar registros devueltos por UNION

Que me devuelve un error:
Código:
Mens. 102, Nivel 15, Estado 1, Línea 6
Sintaxis incorrecta cerca de ')'.
Al final lo he resuleto así, aunque no se si será la mejor manera de cara al rendimiento:
Código:
    SELECT (
        (SELECT COUNT(Id_Usuario) FROM Candidatos_FormacionComplementaria 
        WHERE Id_Usuario = @id ) + 
        (SELECT COUNT(Id_Usuario) FROM Candidatos_FormacionReglada 
        WHERE Id_Usuario = @id)
    ) AS total
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:39.