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

Unir por id una subconsulta en el select padre

Estas en el tema de Unir por id una subconsulta en el select padre en el foro de PostgreSQL en Foros del Web. Hola!, cómo vamos? Tengo una consulta algo parecida a esta: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT DATE ( req . fecha ) AS fecha ...
  #1 (permalink)  
Antiguo 17/11/2011, 18:01
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Unir por id una subconsulta en el select padre

Hola!, cómo vamos?

Tengo una consulta algo parecida a esta:

Código SQL:
Ver original
  1. SELECT DATE(req.fecha) AS fecha, COUNT(req.id) AS n_request,
  2.  (SELECT  COUNT(impresion.id) FROM impresion INNER JOIN request AS reqi ON request.id=impresion.request_id WHERE campo.id=9 AND DATE(reqi.fecha)=DATE(req.fecha)
  3. ) AS n_impresion
  4. FROM request AS req  WHERE campo.id=9 AND DATE(req.fecha) BETWEEN '2011-11-14' AND  '2011-11-17'
  5. GROUP BY DATE(req.fecha);

Esa es la consulta inicial, he intentado de muchas maneras que no me arroje el siguiente error y sigue arrojándolo:

Cita:
ERROR: subquery uses ungrouped column "req.fecha" from outer query
La lógica de la consulta es que cuente el número de request, luego cuente las impresiones que pertenezcan a ese request (esa es la subconsulta) con la fecha en la que ese momento está trayendo la consulta padre.

Aclaro que las dos consultas por aparte funcionan bien, pero cuando le coloco la condición en la subconsulta:

Código SQL:
Ver original
  1. DATE(reqi.fecha)=DATE(req.fecha)

Arroja el error.

Que puede ser? Pensaba que sería como en mysql, pero no jejeje

Gracias!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #2 (permalink)  
Antiguo 28/11/2011, 20:08
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: Unir por id una subconsulta en el select padre

Qué tal?

Bueno desistí de hacer la consulta de esa manera y decidí hacerlo creando una función en postgres.

Creé una función que me retorna un entero pasando como parámetro la fecha.

Me tocó leer respecto a PL/SQL

Saludos!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com

Etiquetas: end, padre, select, sql, subconsulta, campos
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 16:09.