Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/05/2010, 06:05
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Problema con funcion de agregado

Suponiendo que la tabla solo contiene Bajas

Código MySQL:
Ver original
  1. SELECT NIF_PERSONA,
  2.              COUNT(*) as Bajas
  3. FROM tablaBajas
  4. GROUP BY NIF_PERSONA

NIFs y numero de bajas de las personas con 4 o más bajas

Código MySQL:
Ver original
  1. SELECT NIF_PERSONA,
  2.              NOMBRE,
  3.              APELLIDO1,
  4.              APELLIDO2,
  5.             MOTIVO
  6. FROM tablaBajas;
Datos de las personas con bajas...


Lo juntamos todo....

Código MySQL:
Ver original
  1. SELECT t.NIF_PERSONA,
  2.              sbc.Bajas,
  3.              t.NOMBRE,
  4.              t.APELLIDO1,
  5.              t.APELLIDO2,
  6.             t.MOTIVO
  7. FROM (SELECT NIF_PERSONA,
  8.                        COUNT(*) as Bajas
  9.             FROM tablaBajas
  10.             GROUP BY NIF_PERSONA
  11.             HAVING COUNT(*)>3) as Sbc
  12.     INNER JOIN tablaBajas as t
  13.           ON Sbc.NIF_PERSONA=t.NIF_PERSONA
  14. ORDER BY t.NOMBRE,
  15.                  t.APELLIDO1,
  16.                  t.APELLIDO2,
  17.                  t.MOTIVO;

Si?

Si no quieres ver el numero de bajas tambien te puede servir esto

Código MySQL:
Ver original
  1. SELECT t.NIF_PERSONA,
  2.              t.NOMBRE,
  3.              t.APELLIDO1,
  4.              t.APELLIDO2,
  5.             t.MOTIVO
  6. FROM tablaBajas as t
  7. WHERE t.NIF_PERSONA IN (SELECT NIF_PERSONA
  8.                                      FROM tablaBajas
  9.                                      GROUP BY NIF_PERSONA
  10.                                      HAVING COUNT(*)>3)
  11. ORDER BY t.NOMBRE,
  12.                  t.APELLIDO1,
  13.                  t.APELLIDO2,
  14.                  t.MOTIVO;



Quim

Última edición por quimfv; 27/05/2010 a las 06:12