Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/04/2015, 04:01
piolin85
 
Fecha de Ingreso: abril-2005
Mensajes: 22
Antigüedad: 19 años
Puntos: 0
Respuesta: Mostrar registros que se repitan mas de una vez

solucion

en el segundo from tenia q hacer referencia a todos los inner join de las tablas implicadas.

Código SQL:
Ver original
  1. SELECT
  2.  
  3.  a.idContribuyente AS "Id",
  4.   con.noContrato AS "#C",
  5.  CASE WHEN a.nombre IS NULL THEN ''
  6.  ELSE ISNULL(NULLIF(a.nombre, 'NULL') , '') END +' '+ CASE
  7.  WHEN a.apellidoPaterno IS NULL THEN ''
  8.  ELSE ISNULL(NULLIF(a.apellidoPaterno, 'NULL') , '') END +' '+ CASE
  9.  WHEN a.apellidoMaterno IS NULL THEN ''
  10.  ELSE ISNULL(NULLIF(a.apellidoMaterno, 'NULL') , '') END +' '+ CASE
  11.  WHEN a.razonSocial IS NULL THEN ''
  12.  ELSE ISNULL(NULLIF(a.razonSocial, 'NULL') , '') END AS "NOMBRE / RAZÓN SOCIAL",
  13.   a.nombre AS "NOMBRE",
  14.   a.apellidoPaterno AS PATERNO,
  15.   a.apellidoMaterno AS MATERNO,
  16.   a.razonSocial AS "RAZON SOCIAL",
  17.   c.calle + ' ' + CAST(b.no AS VARCHAR(5))+', '+ d.colonia +', '+ e.municipio +', '+ cp.cp  AS DIRECCION ,
  18.   d.colonia AS COLONIA,
  19.   e.municipio AS MUNICIPIO,
  20.   cp.cp AS "C.P.",
  21.   con.fechaContrato AS "FECHA DE CONTRATO",
  22.   tt.descripcion AS DESCRIPCIÓN,
  23.   tt.precio AS TARIFA,
  24.   c.calle AS NCALLE,
  25.   b.no AS NUM,
  26.     b.idCalle,
  27.   b.idColonia,
  28.   b.idMunicipio,
  29.   con.idTipoToma,
  30.   con.observaciones AS OBSERVACIONES,
  31.   con.idDireccion AS IDDIRECCION
  32. FROM
  33. contribuyente a
  34.   INNER JOIN contrato con ON (a.idContribuyente=con.idContribuyente)
  35.   INNER JOIN  tipotoma tt ON (tt.idtipotoma=con.idTipoToma)
  36.   INNER JOIN direccion b ON (b.idDireccion = con.idDireccion)
  37.   INNER JOIN calle c ON (c.idCalle = b.idCalle)
  38.   INNER JOIN colonia d ON (d.idColonia = c.idColonia)
  39.   INNER JOIN cp cp ON (d.idCp=cp.idCp)
  40.   INNER JOIN municipio e ON (e.idMunicipio = d.idMunicipio)
  41.  
  42. WHERE con.idContribuyente
  43. IN (
  44. SELECT con.idContribuyente
  45. FROM
  46. contribuyente a
  47.   INNER JOIN contrato con ON (a.idContribuyente=con.idContribuyente)
  48.   INNER JOIN  tipotoma tt ON (tt.idtipotoma=con.idTipoToma)
  49.   INNER JOIN direccion b ON (b.idDireccion = con.idDireccion)
  50.   INNER JOIN calle c ON (c.idCalle = b.idCalle)
  51.   INNER JOIN colonia d ON (d.idColonia = c.idColonia)
  52.   INNER JOIN cp cp ON (d.idCp=cp.idCp)
  53.   INNER JOIN municipio e ON (e.idMunicipio = d.idMunicipio)
  54. GROUP BY con.idContribuyente
  55. HAVING COUNT( con.idContribuyente ) >1
  56. )
  57. ORDER BY con.idContribuyente

Última edición por gnzsoloyo; 06/04/2015 a las 04:10 Razón: MUY MAL ETIQUETADO. Esxiste el Highlight "SQL". Usalo.