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

Consulta con GROUP BY

Estas en el tema de Consulta con GROUP BY en el foro de Bases de Datos General en Foros del Web. Hola, Tengo una consulta sobre una tabla TABLA1 que es la siguiente: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT   TABLA1 . NUMERO_INCIDENCIA ,   ...
  #1 (permalink)  
Antiguo 25/04/2012, 02:44
 
Fecha de Ingreso: abril-2012
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 0
Consulta con GROUP BY

Hola,

Tengo una consulta sobre una tabla TABLA1 que es la siguiente:

Código SQL:
Ver original
  1. SELECT
  2.   TABLA1.NUMERO_INCIDENCIA,
  3.   MIN(TABLA1.FECHA_INICIO)
  4. FROM
  5.   TABLA1
  6. WHERE
  7.   (
  8.   TABLA1.NUMERO_INCIDENCIA  IN  (SELECT
  9.   TABLA1.NUMERO_INCIDENCIA
  10. FROM
  11.   TABLA1
  12. WHERE
  13.   (
  14.   TABLA1.GRUPO  NOT IN  ('GRUPO_INCIDENCIAS_1')
  15.   AND  TABLA1.NUMERO_ORDEN  =  1
  16.   )
  17. )
  18.   AND  TABLA1.ESTADO  IN  ('Assigned', 'In Progress', 'Pending')
  19.   AND  TABLA1.GRUPO  IN  ('GRUPO_INCIDENCIAS_1')
  20.   )
  21. GROUP BY
  22. TABLA1.NUMERO_INCIDENCIA


Quiero crear una consulta equivalente de tal forma que el GROUP BY quede en una subconsulta, para luego poder filtrar por fechas en la consulta externa sin que me devuelva datos repetidos (si filtro por fecha en la consulta actual, dando un rango de fechas de por ejemplo 24 horas, me daría la mínima fecha del rango de fechas, yo lo que quiero es la mínima fecha TOTAL de la incidencia, es decir, cuando la incidencia entró en el sistema, y luego, poder filtrar por fechas los datos que me interesan de los distintos grupos de incidencias. No sé si me he explicado bien...

Lo que tengo hecho es lo siguiente:

Código SQL:
Ver original
  1. SELECT
  2.   TABLA1.NUMERO_INCIDENCIA,
  3.   TABLA1.FECHA_INICIO
  4. FROM
  5.   TABLA1
  6. WHERE
  7.   (
  8.   TABLA1.NUMERO_INCIDENCIA  IN  (SELECT
  9.   TABLA1.NUMERO_INCIDENCIA
  10. FROM
  11.   TABLA1
  12. WHERE
  13.   (
  14.   TABLA1.GRUPO  NOT IN  ('GRUPO_INCIDENCIAS_1')
  15.   AND  TABLA1.NUMERO_ORDEN  =  1
  16.   )
  17. )
  18.   AND  TABLA1.ESTADO  IN  ('Assigned', 'In Progress', 'Pending')
  19.   AND  TABLA1.GRUPO  IN  ('GRUPO_INCIDENCIAS_1)
  20.  AND  TABLA1.FECHA_INICIO IN (SELECT
  21.  min(TABLA1.FECHA_INICIO)
  22. FROM
  23.  TABLA1
  24. GROUP BY
  25.  TABLA1.NUMERO_INCIDENCIA, TABLA1.GRUPO, TABLA1.ESTADO
  26.  )
  27.  )

Esto no funciona, me devuelve algunos datos más de los que debería, ¿qué creéis que estoy haciendo mal?

Saludos y muchas gracias!
  #2 (permalink)  
Antiguo 26/04/2012, 09:00
 
Fecha de Ingreso: enero-2012
Mensajes: 49
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Consulta con GROUP BY

Ahora le echo un ojo más preciso, pero a simple vista, tienes un error de syntax.

En concreto: ('GRUPO_INCIDENCIAS_1)

Si te fijas el texto abajo se te pone rojo, esto se debe a que te falta un apostrofe al final: ('GRUPO_INCIDENCIAS_1')
  #3 (permalink)  
Antiguo 27/04/2012, 03:14
 
Fecha de Ingreso: abril-2012
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Consulta con GROUP BY

Gracias pero es que he cambiado los nombres reales. En la consulta buena está bien, ya que me da información, concretamente más registros de los que me da en la otra.

¿A nadie se le ocurre nada?

Saludos.

Etiquetas: group, tabla
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 01:06.