我在过去一天左右的时间里对此进行了大量的背景阅读,我对如何实现这一点并不知情。将每个列值连接到子查询的字符串
我已经看过这个网站,发现串联多行成一列但是我后有点多定制的,请帮助的方式...
我有两个表 - 一个是一个列表的人和他们的细节,如名称等和一个人的参考。
第二个包含许多关于某个人的警报,一个人可以有多个警报。这将包含一个人参考和他们在一个字符串中的警报类型。
我想加入这两个表使用人参考的内部联接。 我接下来想要查找每个人的所有警报,并将其连接成一个字符串,并将其显示为“所有警报”列。
所以我将结束与以下的输出:
First Name | Surname | All Alerts
-----------+---------+--------------------------
Tony | Stark | Alert 1, Alert 2, Alert 3
我能得到尽可能通过所有的警报表警报的打算,把警报每个人变成了一个字符串,很明显,我每个人都需要一个连接的价值,并没有想出如何做到这一点。
我已经花了一天时间了解了这一点,并研究了XMLPath解决方案并使用CTE,CROSS APPLY和子查询来指定where子句。我有点失落。
DECLARE @ConcatenatedVals VARCHAR (255)
SET @ConcatenatedVals =
(
DECLARE @AllAlerts VARCHAR(8000)
SELECT @AllAlerts = COALESCE(@AllAlerts + ', ', '') + personAlert
FROM Alerts
SELECT @AllAlerts AS 'All Alerts'
)