尝试将多行汇总到一行时遇到SQL for xml路径错误?

尝试将多行汇总到一行时遇到SQL for xml路径错误?,sql,google-bigquery,Sql,Google Bigquery,我试图使用下面的代码在BigQuery中将多行汇总成一行。然而,我得到了一个语法错误,上面写着“expected”)”,但是在[3:111]得到了关键字 前三行有相同的PatientGuid,这意味着他们是一个人,有三个不同的ICD9Code(疾病代码)。我希望这个患者只使用一行,ICD9Code列包含他的所有ICD9Code 你能帮我改正一下吗?谢谢 SELECT PatientGuid, Gender, YearOfBirth, STUFF((SELECT ',' + A

我试图使用下面的代码在BigQuery中将多行汇总成一行。然而,我得到了一个语法错误,上面写着“expected”)”,但是在[3:111]得到了关键字

前三行有相同的PatientGuid,这意味着他们是一个人,有三个不同的ICD9Code(疾病代码)。我希望这个患者只使用一行,ICD9Code列包含他的所有ICD9Code

你能帮我改正一下吗?谢谢

SELECT 
    PatientGuid, Gender, YearOfBirth, 
    STUFF((SELECT ',' + A.ICD9Code 
           FROM featuretable AS A 
           WHERE A.PatientGuid = featuretable.PatientGuid 
           FOR XML PATH('')), 1, 1, '') 
FROM 
    featuretable 
GROUP BY 
    PatientGuid, Gender, YearOfBirth
下面使用

SELECT 
    PatientGuid, Gender, YearOfBirth, 
    STRING_AGG(ICD9Code) AS ICD9Codes
FROM 
    featuretable 
GROUP BY 
    PatientGuid, Gender, YearOfBirth

BigQuery没有用于关键字的
。看起来不像BigQuery。你知道当我试图在BigQuery中将多行汇总到一行时应该使用哪个关键字吗?谢谢你的帮助!你能粘贴一个输入数据和预期输出的示例吗?我添加了一张输入图片和一些目标说明很多。谢谢!我已经解决了这个问题。谢谢你的耐心和帮助。这对我很有用!谢谢你的帮助!它很好!请接受:O)