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

subconsulta duda sql

Estas en el tema de subconsulta duda sql en el foro de Mysql en Foros del Web. Hola tengo una duda acera de algunas consultas q pueden tener count... Por ejenplo si la consulta dice . Indique el nombre de los empleados ...
  #1 (permalink)  
Antiguo 15/07/2012, 09:16
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 13 años, 10 meses
Puntos: 5
subconsulta duda sql

Hola tengo una duda acera de algunas consultas q pueden tener count...

Por ejenplo si la consulta dice . Indique el nombre de los empleados q superen las 5 ventas...

Supongamos q los datos del empleados y ventas estan en la misma tabla...primero tengo q agrupar por empleados y contar . Ademas de contar habria un having que indique que los valores contados sea mayor q 5

Pero esto no se podria hacer en una sola consulta..


Seria algo asi

Select id_emp,nombre , count (ventas)
From empleados
Group by (id_emp,nombre)
Having (count(ventas)) > 5

En realidad esta mal por que solo quiero el nombre y NO el id , Con el nombre, ni la cantidad. Esto lo haria con una subconsulta no ?
  #2 (permalink)  
Antiguo 15/07/2012, 10:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: subconsulta duda sql

Suponiendo que las ventas estén en otra tabla (como deberìa ser):
Código MySQL:
Ver original
  1. SELECT E.nombre , COUNT (V.IdVenta) totalventas
  2. FROM empleados E INNER JOIN ventas V ON E.id = V.idempleado
  3. GROUP BY id_emp
  4. HAVING count(V.idventa) > 5
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 15/07/2012, 11:55
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 13 años, 10 meses
Puntos: 5
Bueno si como decis.que las ventas estan en otras tablas.. Pero como hago para solo mostrar.imprimir...SOLO EL NOMBRE DEL EMPLEADO

El nombre que cumpla los requisitos de la consulta... No quiero q me muestre la cantidad... ,,,(pero q si la haga .internamente .ya que necesito saber de que empleado , la cantidad de ventas es mayor a 5)
  #4 (permalink)  
Antiguo 15/07/2012, 13:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: subconsulta duda sql

Te cuento que tu duda mucho no se entiende.
Si el nombre del empleado está en la tabla Empleado, y las ventas se pueden contar en Ventas, a la que se relaciona Empelado por el ID del empleado que hizo la venta, la consulta que te propongo devolverá aquellos empleados que tienen cinco o más ventas.
Y si lo que quieres es sólo el nombre, pues simplemente debes poner sólo el nombre en el SELECT, ¿no te parece?:
Código MySQL:
Ver original
  1. SELECT E.nombre
  2. FROM empleados E INNER JOIN ventas V ON E.id = V.idempleado
  3. GROUP BY id_emp
  4. HAVING count(V.idventa) > 5
A fin de cuentas, es el HAVING el que evalúa la condición...

¿Por qué te produce dudas?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 15/07/2012, 14:12
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 13 años, 10 meses
Puntos: 5
Es por que para contar .utilizo el count. Y el count siempre se coloca en el SELECT. Todo lo q esta en el select se muestra... Entonces siempre q necesito contar me va mostrar un numero q conte registros....

Pero creo q ya se donde me equivoco... Por q ademas de contar desde select... Puedo contar desde por ejemplo .. En esta consulta


HAVING( count(ventas)) >5


Bueno ahi . No pondria count en select y no lo muestra...... Solo calcula la cantidad "internamente"

Espero q sea asi..
  #6 (permalink)  
Antiguo 15/07/2012, 14:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: subconsulta duda sql

Pruébalo...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: select, sql, subconsulta, 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 19:36.