将多行/列组合成单行SQL ASP.NET

时间:2013-12-13 03:26:03

标签: asp.net sql-server vb.net

我有一个用户表,一个包含roleID和名称的角色表,以及一个包含roleID和userID的用户表。用户可以拥有多个角色,因此可以为我的选择查询返回多个记录。有没有办法可以将每个roleID组合成一个单独的行,如果存在,可以通过sql proc或VB为附加的roleID添加新列?我有一个gridview,我将用于角色管理,它有3列角色,每个列都有一个允许添加或删除角色的复选框。

1 个答案:

答案 0 :(得分:4)

不要在单个数据库列中存储多个项目;你违反了第一个正常形式,这不是好的数据库设计。

在您的情况下,您可以创建一个View,将多个角色聚合到一个“列”(逗号分隔)中,然后将gridview的数据源基于新的View而不是基表。

您可以通过存储过程执行相同的操作。