MySQL - Filtro en subconsultas

   
Vista:

Filtro en subconsultas

Publicado por ElTecla (1 intervención) el 03/02/2010 01:32:50
Que tal, me surgio un problema armando un query y no le encuentro la vuelta, a ver si alguien me puede ayudar es algo asi:

SELECT clientes.id, clientes.nombre, clientes.apellido, (SELECT COUNT(*) FROM pedidos WHERE pedidos.cliente_id = clientes.id) as pedidos FROM clientes WHERE pedidos > 5

el tema que me dice: Unknown Column pedidos, y logicamente no es una columna, como es la forma correcta de hacer esto????

Osea, lo que quiero hacer es filtrar los resultados segun el valor devuelto por una subconsulta.

Desde ya muchisimas gracias!!!

Saludos
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

RE:Filtro en subconsultas

Publicado por Gonzalo (339 intervenciones) el 03/02/2010 04:01:24
SELECT
C.id,
C.nombre,
C.apellido,
COUNT(*) CantPedidos
FROM clientes C INNER JOIN pedidos P ON P.cliente_id = C.id
GROUP BY C.id, C.nombre, C.apellido
HAVING COUNT(*) > 5

No son eficientes las consultas que tienen una subconsulta como salida de columna del SELECT. Hacen demasiados escaneos de tabla.
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