Todas las expresiones GROUP BY deben contener al menos una columna que no sea una referencia exterior.
Código SQL:
Ver original
SELECT a.idContribuyente AS "Id", con.noContrato AS "#C", CASE WHEN a.nombre IS NULL THEN '' ELSE ISNULL(NULLIF(a.nombre, 'NULL') , '') END +' '+ CASE WHEN a.apellidoPaterno IS NULL THEN '' ELSE ISNULL(NULLIF(a.apellidoPaterno, 'NULL') , '') END +' '+ CASE WHEN a.apellidoMaterno IS NULL THEN '' ELSE ISNULL(NULLIF(a.apellidoMaterno, 'NULL') , '') END +' '+ CASE WHEN a.razonSocial IS NULL THEN '' ELSE ISNULL(NULLIF(a.razonSocial, 'NULL') , '') END AS "NOMBRE / RAZÓN SOCIAL", a.nombre AS "NOMBRE", a.apellidoPaterno AS PATERNO, a.apellidoMaterno AS MATERNO, a.razonSocial AS "RAZON SOCIAL", c.calle + ' ' + CAST(b.no AS VARCHAR(5))+', '+ d.colonia +', '+ e.municipio +', '+ cp.cp AS DIRECCION , d.colonia AS COLONIA, e.municipio AS MUNICIPIO, cp.cp AS "C.P.", con.fechaContrato AS "FECHA DE CONTRATO", tt.descripcion AS DESCRIPCIÓN, tt.precio AS TARIFA, c.calle AS NCALLE, b.no AS NUM, b.idCalle, b.idColonia, b.idMunicipio, con.idTipoToma, con.observaciones AS OBSERVACIONES, con.idDireccion AS IDDIRECCION FROM contribuyente a INNER JOIN contrato con ON (a.idContribuyente=con.idContribuyente) INNER JOIN tipotoma tt ON (tt.idtipotoma=con.idTipoToma) INNER JOIN direccion b ON (b.idDireccion = con.idDireccion) INNER JOIN calle c ON (c.idCalle = b.idCalle) INNER JOIN colonia d ON (d.idColonia = c.idColonia) INNER JOIN cp cp ON (d.idCp=cp.idCp) INNER JOIN municipio e ON (e.idMunicipio = d.idMunicipio) WHERE con.idContribuyente IN ( SELECT con.idContribuyente FROM contrato GROUP BY con.idContribuyente HAVING COUNT( con.idContribuyente ) >1 ) ORDER BY con.idContribuyente
gracias de antemano