SQL - contar valores de 3 campos repetitivos

 
Vista:

contar valores de 3 campos repetitivos

Publicado por Roman (2 intervenciones) el 22/11/2016 18:35:03
Saludos

Solicitando su apoyo por favor

Tengo una tabla ENTRADAS que contiene 3 campos SERVICIO1, SERVICIO2 Y SERVICIO3. Estos se llenan del mismo catalago la tabla SERVICIOS

Necesito contar el numero de servicios agrupados: Ejemplo:

id S1 S2 S3
1 A F N
2 F A N
3 M E F

Servicio Total
A---------------------2
E---------------------1
F---------------------2
M--------------------1
N--------------------2

E podido contar y agrupar solo para un campo con esto pero no logro contar el de los demas:

SELECT Servicio1, Count(*) AS Servicios
FROM Entrada
GROUP BY (Servicio1);

Gracias por sus respuestas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 42
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

contar valores de 3 campos repetitivos

Publicado por José Luis (16 intervenciones) el 22/11/2016 19:28:40
Hola,

De antemano ya es un mal diseño de BD.

Una solución pobre sería de la siguiente manera

1
2
3
4
5
6
7
8
9
10
11
12
select servicios
     , count(servicios)
from
     (SELECT Servicio1 as Servicios
        FROM Entrada
       union
      SELECT Servicio2 as Servicios
        FROM Entrada
       union
      SELECT Servicio3 as Servicios
        FROM Entrada) a
group by servicios

Por favor comenta como te fue.

Saludos
José Luis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

contar valores de 3 campos repetitivos

Publicado por Isaias (1921 intervenciones) el 24/11/2016 03:30:25
Con los registros que muestras, no habria problema, pero si hablamos de unos MILES de registros, no creo que el tiempo de respuesta sea el adecuado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

contar valores de 3 campos repetitivos

Publicado por roman (2 intervenciones) el 24/11/2016 21:15:43
listo Jose Luis gracias, con tu ayuda y la de un amigo logre darle solución. Antes de preguntar por este medio ya tenia la sospecha de un mal diseno de base de datos, te paso ya como quedo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SELECT Servicios, Sum(Servicio) AS Total
FROM
 
(SELECT  Entrada_A_Taller.id_Servicio AS Servicios, COUNT(*) AS Servicio
FROM Entrada_A_Taller
GROUP BY (Entrada_A_Taller.id_Servicio)
 
UNION
 
SELECT  Entrada_A_Taller.id_Servicio2 AS Servicios, COUNT(*) AS Servicio
FROM Entrada_A_Taller
GROUP BY (Entrada_A_Taller.id_Servicio2)
 
UNION
 
SELECT  Entrada_A_Taller.id_Servicio3 AS Servicios, COUNT(*) AS Servicio
FROM Entrada_A_Taller
GROUP BY (Entrada_A_Taller.id_Servicio3))
 
GROUP BY (Servicios);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar