所以我有一个我正在使用的数据库,其中包含两个表:
Player
Times
在前端,这些表中的数据组合成一个表格,如下所示:
playerName | Times
Player1 | 1.0 2.0 4.5 7.5
Player2 | 1.5 4.3 7.8 2.0 4.5
尽可能地,玩家可以在该列中多次出现。我的问题是这些时间并将它们连接到一个领域。
数据库中的两个表通过ID字段相关。 Times表包含一个由该ID字段组成的复合键以及该时间的ID。即每个时间都是自己的一排。
如何抓住每个时间并将它们连接到每个玩家的一个字段中?我不能为每个玩家提供查询返回的多行,因为其他地方使用了其他玩家表中的字段。这将导致前端也显示许多行,这不是一个选项。
答案 0 :(得分:3)
这样的事情:
SELECT P.PlayerName,
AT.Times
FROM Player P
CROSS APPLY
(
SELECT CAST(Time as varchar) + ' ' as [text()]
FROM Times T
WHERE P.Id = T.PlayerId
FOR XML PATH('')
)AT(Times)
<强> SQL FIDDLE DEMO 强>