Agrupar varios Count
Publicado por Sebastian (2 intervenciones) el 01/05/2020 15:54:18
Buenos días
Quisiera unir en una sola consulta dos Count que los tengo por separados.
En la primera consulta, mirando datos en vivos, obtengo la cantidad de los datos que están llegando nulos.
Esta es la sentencia.
En la segunda consulta obtengo la cuenta de la cantidad total de todos los datos en vivos.
Lo que necesito haces es mostrar los valores Nulos y al lado su total.
Opción 01
Mostrar solo si tienen valores nulos.
ComputerName | ApplicationName | Access Name | Nulos | Totales
Computer02 | aplicación01 | Acces_100 | 2 | 25
Opción 02
Mostrar totales y el número de nulos.
ComputerName | ApplicationName | Access Name | Nulos | Totales
Computer02 | Aplicación01 | Acces_100 | 2 | 25
Computer1 | Applicacion03 | Acces_205 | 0 | 25
Desde ya agradezco su ayuda.
Quisiera unir en una sola consulta dos Count que los tengo por separados.
En la primera consulta, mirando datos en vivos, obtengo la cantidad de los datos que están llegando nulos.
Esta es la sentencia.
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT IOServer.ComputerName as [Computer Name], IOServer.ApplicationName as [Application Name], Topic.Name as [Access Name], COUNT(*) as Nulos
FROM AnalogTag, EngineeringUnit, Tag, v_Live, Topic, IOServer, IODriver
WHERE
Tag.TagName not like '%sys%'
AND v_Live.Value is Null
AND Tag.TagName = AnalogTag.TagName
AND tag.tagname = v_live.TagName
AND AnalogTag.EUKey = EngineeringUnit.EUKey
AND Topic.TopicKey = Tag.TopicKey
AND IOServer.IOServerKey = Topic.IOServerKey
AND IOServer.IODriverKey=IODriver.IODriverKey
GROUP BY Topic.Name,IOServer.ComputerName,IOServer.ApplicationName
ORDER BY IOServer.ComputerName, Topic.Name
En la segunda consulta obtengo la cuenta de la cantidad total de todos los datos en vivos.
1
2
3
4
5
6
7
8
9
10
11
12
SELECT IOServer.ComputerName, IOServer.ApplicationName, Topic.Name as AccessName, COUNT(*) as Total
FROM AnalogTag, EngineeringUnit, Tag, v_Live, Topic, IOServer, IODriver
WHERE
Tag.TagName not like '%sys%'
AND Tag.TagName = AnalogTag.TagName
AND tag.tagname = v_live.TagName
AND AnalogTag.EUKey = EngineeringUnit.EUKey
AND Topic.TopicKey = Tag.TopicKey
AND IOServer.IOServerKey = Topic.IOServerKey
AND IOServer.IODriverKey=IODriver.IODriverKey
GROUP BY Topic.Name,IOServer.ComputerName,IOServer.ApplicationName
ORDER BY IOServer.ComputerName, Topic.Name
Lo que necesito haces es mostrar los valores Nulos y al lado su total.
Opción 01
Mostrar solo si tienen valores nulos.
ComputerName | ApplicationName | Access Name | Nulos | Totales
Computer02 | aplicación01 | Acces_100 | 2 | 25
Opción 02
Mostrar totales y el número de nulos.
ComputerName | ApplicationName | Access Name | Nulos | Totales
Computer02 | Aplicación01 | Acces_100 | 2 | 25
Computer1 | Applicacion03 | Acces_205 | 0 | 25
Desde ya agradezco su ayuda.
Valora esta pregunta


0