我有一个简单的查询,在连接2个表时返回2行。查询是这样的:
SELECT
id, fecha, tipo, fuente, origen, estado, gravedad, cliente,
sectores, datos, idInforme, idDepartamento
FROM
Informe I
INNER JOIN
InformeDepartamento ID ON I.ID = ID.idInforme
我需要的只是返回一行,其中'idDepartamento'列合并并用逗号分隔。所以内容是1,4
我怎样才能做到这一点?我试过PIVOT
,但它没有用,因为我认为这不是正确的方法。
答案 0 :(得分:1)
您可以使用STUFF和XML路径来获取所需内容。以下是如何使用它的一个很好的例子: stuff example
答案 1 :(得分:1)
STUFF函数和XMLPATH完成了工作。
SELECT id,
fecha,
tipo,
fuente,
origen,
estado,
gravedad,
cliente,
sectores,
datos,
idInforme,
STUFF((SELECT ',' + CAST(idDepartamento AS VARCHAR(5)) FROM InformeDepartamento WHERE idInforme = I.id FOR XML PATH('')),1,1,'') [PRUEBA]
FROM Informe I
INNER JOIN InformeDepartamento ID ON I.ID = ID.idInforme
GROUP BY id, fecha, tipo, fuente, origen, estado, gravedad, cliente, sectores, datos, idInforme