Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/09/2014, 02:11
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 11 meses
Puntos: 574
Respuesta: Consulta para obtener el numero de registros coincidentes entre dos tablas

Dos opciones al vuelo, pero ojo en tu ejemplo "extra" parece nulo en algunos casos, quizas habria que hacer alguna transformación de nulo a un valor determinado (-1 p.e.)....

Código MySQL:
Ver original
  1. SELECT SBC1.Area,SBC1.SubArea,SBC1.total,IFNULL(SBC2.clientes,0) Clientes
  2. FROM (SELECT Area,SubArea,count(*) total
  3.            FROM tablaMasde2millones
  4.            GROUP BY Area,SubArea) SBC1
  5.      LEFT JOIN
  6.            (SELECT Area,SubArea,count(*) clientes
  7.            FROM tablaMasde2millones
  8.                      INNER JOIN tabla14000registros
  9.                          ON tablaMasde2millones.`Código postal`=tabla14000registros.`Código postal`
  10.                              AND tablaMasde2millones.`número`=tabla14000registros.`número`
  11.                              AND tablaMasde2millones.`extra`=tabla14000registros.`extra`
  12.            GROUP BY tablaMasde2millones.Area,tablaMasde2millones.SubArea)SBC2
  13.      ON SBC1.Area=SBC2.Area AND SBC1.SubArea=SBC2.SubArea;


Código MySQL:
Ver original
  1. SELECT Area,SubArea,count(*) total,
  2.                 SUM(if(tabla14000registros.`Código postal` IS NOT NULL
  3.                      AND tabla14000registros.`número` IS NOT NULL  
  4.                      AND tabla14000registros.`extra` IS NOT NULL, 1,0)) clientes
  5.            FROM tablaMasde2millones
  6.                      LEFT JOIN tabla14000registros
  7.                          ON tablaMasde2millones.`Código postal`=tabla14000registros.`Código postal`
  8.                              AND tablaMasde2millones.`número`=tabla14000registros.`número`
  9.                              AND tablaMasde2millones.`extra`=tabla14000registros.`extra`
  10.            GROUP BY tablaMasde2millones.Area,tablaMasde2millones.SubArea
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.