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 originalSELECT
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