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

Es una consulta que hago en sql server, es la siguiente y me marca el siguiente error, podrian ayudarme?
Todas las expresiones GROUP BY deben contener al menos una columna que no sea una referencia exterior.

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 contrato
  46. GROUP BY con.idContribuyente
  47. HAVING COUNT( con.idContribuyente ) >1
  48. )
  49. ORDER BY con.idContribuyente

gracias de antemano

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