0

可能重复:
SQL Server:我可以用逗号将多行分隔为一列吗?

这可能吗?我有一个可以有很多行的临时表,例如:

  interaction type     name   points
        6             India     50
        8             India     100

在我的主表 CategoriesTable 我有一个名为 HintText 的字段

我怎样才能让这些行成为 HintText = 6,India,50|6,India,100?

到目前为止,这是我的代码:

 UPDATE #CategoriesTable
  SET HintText =  t.Name + ',' + t.Points + ',' + t.interactiontype
 FROM #CategoriesTable
 INNER JOIN #temp1 t ON t.userId = #CategoriesTable.UserId
 WHERE t.userId = #CategoriesTable.UserId

在我的存储过程中:

 HintText nvarchar(256),

在我的存储库中:

 trainingModuleProgressState.HintText = row["HintText"].ToString();

在我的数据模型中:

 public string HintText { get; set; }  

这会给我一排,我如何进入第二排?

4

1 回答 1

0

我认为你想要类似于GROUP_CONCATMySQL 的东西。不幸的是,在 SQL Server 中似乎没有简单的方法可以做到这一点。是关于它的众多讨论之一。

MySQLGROUP_CONCAT看起来像:(我知道语法是 100%)

UPDATE #CategoriesTable
SET HintText = (SELECT GROUP_CONCAT(t.Name + ',' + t.Points + ',' + t.interactiontype)
                FROM #temp1 t
                WHERE t.userId = #CategoriesTable.UserId)
于 2013-01-04T08:26:26.013 回答