在另一个表中,具有多行作为逗号分隔字段的Sql表

本文关键字:分隔 字段 Sql 另一个 | 更新日期: 2023-09-27 17:50:34

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

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

  interaction type     name   points
        6             India     50
        8             India     100

在我的主表类别表中,我有一个名为HintText 的字段

如何将这些行设置为HintText=6,India,50|6,India100?

到目前为止我的代码是:

 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; }  

这将给我一排,我如何才能进入第二排?

在另一个表中,具有多行作为逗号分隔字段的Sql表

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

MySQL GROUP_CONCAT看起来像:(我知道语法是100%(

UPDATE #CategoriesTable
SET HintText = (SELECT GROUP_CONCAT(t.Name + ',' + t.Points + ',' + t.interactiontype)
                FROM #temp1 t
                WHERE t.userId = #CategoriesTable.UserId)