SQL - NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

   
Vista:

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por Ignacio (8 intervenciones) el 21/03/2016 02:02:08
Estimados,
Tengo un problema con un query que no puedo agrupar los datos bajo los filtros que ya tengo.
pero al utilizar GROUP BY me da error, alguien me puede ayudar?

SELECT A.ID_RECLAMO,
A.FECHA_APERTURA,
B.NOMBRE_TIPORECLAMO,
A.ACTIVO,
E.NODO_ASIGNADO,
to_char(A.FECHA_APERTURA, 'MM') "mes",
round(((SYSDATE - A.FECHA_APERTURA) * 24), 0) "HORAS",
A.ESTADO,
A. SUBESTADO,
A.RUT_CLIENTE,
D.CALLE,
D.NUMERO,
D.DEPTO,
D.COMUNA,
A.PROPIETARIO_RECLAMO,
A.USUARIO_CREACION
FROM SICRET.RECLAMO@SICRET A,
SICRET.TIPO_RECLAMO@SICRET B,
SICRET.CTA_SERVICIO@SICRET C,
SICRET.DIRECCION@SICRET D,
SICRET.ACTIVO@SICRET E
WHERE A.ID_TIPO_RECLAMO = B.ID_TIPO_RECLAMO
AND A.ID_CTA_SERV = C.ID_CTA_SERV
AND c.id_direcc_serv = d.id_direcc_sicret
AND A.ACTIVO = E.ACTIVO
and b.FAMILIA_RECLAMO = '2190'
AND B.NOMBRE_TIPORECLAMO like ('%ON%LINE%')
AND A.ESTADO IN ('PENDIENTE', 'ABIERTO')
order by a.fecha_creacion asc

Para que tengan idea me da asi el resultado,
CONSULTA-QUERY

Y necesito agrupar esta data que solo me muestre la comuna y la cantidad.

Saludos
GRACIAS
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
Imágen de perfil de Isaias

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por Isaias (690 intervenciones) el 21/03/2016 16:49:35
¿Solo la COMUNA y la CANTIDAD?

La COMUNA, la veo, ¿cual CANTIDAD?
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

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por Ignacio (8 intervenciones) el 21/03/2016 19:07:26
Isaias,

La cantidad me la arroja la acumulacion de data en la consulta del query

consulta-query

Te mando un ejemplo de la data que puedo rescatar.

Atte
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 Jordi

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por Jordi (10 intervenciones) el 21/03/2016 19:45:52
Hola Ignacio, ¿puedes concretar qué es "la cantidad"?

Con la select que has puesto no puedes hacer un group by porque las columnas que no están agrupadas tienen que formar parte de una función de agregación.
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

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por Ignacio (8 intervenciones) el 21/03/2016 20:12:24
Jordi, cantidad por comuna osea que me de una tabla por ejemplo


consulta-query
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 Jordi

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por Jordi (10 intervenciones) el 21/03/2016 20:17:35
Vale, entonces la select que has puesto en el primer post es de la que partes, ¿no?

En tal caso:

1
2
3
4
5
select sel.comuna as "comuna", count(sel.*) as "cantidad"
from (
   insertar select inicial
) as "sel"
group by sel.comuna;
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

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por Ignacio (8 intervenciones) el 21/03/2016 20:29:57
Jordi, y como quedaria entonces el query? lo ingrese y me da error.


consulta-query
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 Jordi

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por Jordi (10 intervenciones) el 21/03/2016 21:14:34
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
select sel.comuna as "comuna", count(sel.*) as "cantidad"
from (
      SELECT A.ID_RECLAMO,
      A.FECHA_APERTURA,
      B.NOMBRE_TIPORECLAMO,
      A.ACTIVO,
      E.NODO_ASIGNADO,
      to_char(A.FECHA_APERTURA, 'MM') "mes",
      round(((SYSDATE - A.FECHA_APERTURA) * 24), 0) "HORAS",
      A.ESTADO,
      A. SUBESTADO,
      A.RUT_CLIENTE,
      D.CALLE,
      D.NUMERO,
      D.DEPTO,
      D.COMUNA,
      A.PROPIETARIO_RECLAMO,
      A.USUARIO_CREACION
      FROM SICRET.RECLAMO@SICRET A,
      SICRET.TIPO_RECLAMO@SICRET B,
      SICRET.CTA_SERVICIO@SICRET C,
      SICRET.DIRECCION@SICRET D,
      SICRET.ACTIVO@SICRET E
      WHERE A.ID_TIPO_RECLAMO = B.ID_TIPO_RECLAMO
      AND A.ID_CTA_SERV = C.ID_CTA_SERV
      AND c.id_direcc_serv = d.id_direcc_sicret
      AND A.ACTIVO = E.ACTIVO
      and b.FAMILIA_RECLAMO = '2190'
      AND B.NOMBRE_TIPORECLAMO like ('%ON%LINE%')
      AND A.ESTADO IN ('PENDIENTE', 'ABIERTO')
      order by a.fecha_creacion asc
) as "sel"
group by sel.comuna;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por Ignacio (8 intervenciones) el 22/03/2016 12:35:18
Muchas gracias Jordi, me aparecio como invalida igual la consulta, pero agradezco de tu ayuda!
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 Jordi

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por Jordi (10 intervenciones) el 22/03/2016 15:05:23
Cuál es el error que te da?
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

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por Ignacio (8 intervenciones) el 22/03/2016 15:17:26
Jordi,

Ese es el error

consulta-query
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 Jordi

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por Jordi (10 intervenciones) el 22/03/2016 15:50:49
Prueba lo siguiente, pues.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
select sel.comuna as "comuna", count(*) as "cantidad"
from (
      SELECT A.ID_RECLAMO,
      A.FECHA_APERTURA,
      B.NOMBRE_TIPORECLAMO,
      A.ACTIVO,
      E.NODO_ASIGNADO,
      to_char(A.FECHA_APERTURA, 'MM') "mes",
      round(((SYSDATE - A.FECHA_APERTURA) * 24), 0) "HORAS",
      A.ESTADO,
      A. SUBESTADO,
      A.RUT_CLIENTE,
      D.CALLE,
      D.NUMERO,
      D.DEPTO,
      D.COMUNA "comuna",
      A.PROPIETARIO_RECLAMO,
      A.USUARIO_CREACION
      FROM SICRET.RECLAMO@SICRET A,
      SICRET.TIPO_RECLAMO@SICRET B,
      SICRET.CTA_SERVICIO@SICRET C,
      SICRET.DIRECCION@SICRET D,
      SICRET.ACTIVO@SICRET E
      WHERE A.ID_TIPO_RECLAMO = B.ID_TIPO_RECLAMO
      AND A.ID_CTA_SERV = C.ID_CTA_SERV
      AND c.id_direcc_serv = d.id_direcc_sicret
      AND A.ACTIVO = E.ACTIVO
      and b.FAMILIA_RECLAMO = '2190'
      AND B.NOMBRE_TIPORECLAMO like ('%ON%LINE%')
      AND A.ESTADO IN ('PENDIENTE', 'ABIERTO')
      order by a.fecha_creacion asc
) as "sel"
group by comuna;
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

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por Ignacio (8 intervenciones) el 22/03/2016 15:54:26
Jordi,
Muchas gracias por tu respuesta, pero nuevamente me figura un error de otro tipo. Es demasiado raro


consulta-query
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

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por leonardo_josue (877 intervenciones) el 22/03/2016 19:29:36
Hola Jordi:

Hasta donde recuerdo, ORACLE no permite utilizar la cláusula ORDER BY dentro de subconsultas...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
select sel.comuna as "comuna", count(*) as "cantidad"
from (
      SELECT A.ID_RECLAMO,
      A.FECHA_APERTURA,
      B.NOMBRE_TIPORECLAMO,
      A.ACTIVO,
      E.NODO_ASIGNADO,
      to_char(A.FECHA_APERTURA, 'MM') "mes",
      round(((SYSDATE - A.FECHA_APERTURA) * 24), 0) "HORAS",
      A.ESTADO,
      A. SUBESTADO,
      A.RUT_CLIENTE,
      D.CALLE,
      D.NUMERO,
      D.DEPTO,
      D.COMUNA "comuna",
      A.PROPIETARIO_RECLAMO,
      A.USUARIO_CREACION
      FROM SICRET.RECLAMO@SICRET A,
      SICRET.TIPO_RECLAMO@SICRET B,
      SICRET.CTA_SERVICIO@SICRET C,
      SICRET.DIRECCION@SICRET D,
      SICRET.ACTIVO@SICRET E
      WHERE A.ID_TIPO_RECLAMO = B.ID_TIPO_RECLAMO
      AND A.ID_CTA_SERV = C.ID_CTA_SERV
      AND c.id_direcc_serv = d.id_direcc_sicret
      AND A.ACTIVO = E.ACTIVO
      and b.FAMILIA_RECLAMO = '2190'
      AND B.NOMBRE_TIPORECLAMO like ('%ON%LINE%')
      AND A.ESTADO IN ('PENDIENTE', 'ABIERTO')
) as "sel"
group by comuna;

prueba quitándola y nos comentas.

Saludos
Leo.
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

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por Ignacio (8 intervenciones) el 22/03/2016 19:33:41
Leo,

La clausula en cuestion es GROUP BY, y desconosco si se puede o no.
la verdad es que estoy super entrampado
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

NECESITO AGRUPAR UNOS DATOS Y NO PUEDO

Publicado por leonardo_josue (877 intervenciones) el 22/03/2016 22:10:45
Hola de nuevo:

hay varias cosas a considerar:

1. en tu consulta tienes dos cláusulas, una ORDER BY que está en el subselect...

1
2
3
4
...
AND A.ESTADO IN ('PENDIENTE', 'ABIERTO')
      order by a.fecha_creacion asc <-- esta es el ORDER BY
...

y otra cláusula GROUP BY al final de la consulta:

1
2
3
...
) as "sel"
group by comuna; <-- Este es el GROUP BY

En el primero de los casos, como te comento, NO SE PUEDE PONER EL ORDER BY DENTRO DE UN SUBSELECT, por lo tanto deberías de eliminarlo, es lo que te pedía que probaras, quitar el ORDER BY y tratar de ejecutar la consulta para ver que resultado obtienes.

Saludos
Leo.
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