我在网站上发现了类似的问题,但我仍在为此而苦苦挣扎。我有一张桌子,上面有如下信息:
AcctNo ChargeOrder ChargeCode
ABC 1 Charge1
ABC 2 Charge2
ABC 3 Charge3
我正在尝试使用XML Path / STUFF函数返回数据,如下所示:
AcctNo Order/Code
ABC 1:Charge1 - 2:Charge2 - 3:Charge3
但是我似乎无法弄清楚如何将我的Chargeorder和Chargecode串联起来并将它们装进一个字段中。
答案 0 :(得分:0)
在SQL Server中,您可以使用string_agg()
-在最新版本中:
select acctno,
string_agg(concat(ChargeOrder, ':', ChargeCode), ' - ')
from t
group by acctno;
在旧版本中,其措辞为:
select a.acctno,
stuff( (select concat(' - ', ChargeOrder, ':', ChargeCode)
from t t2
where t2.acctno = a.acctno
for xml path ('')
), 1, 3, ''
)
from (select distinct acctno from t) a