我正在使用VS2005 C#和SQL2005。从多个列中检索数据并在单个列中显示
我想从多列中检索数据并合并它们,用逗号分隔它们。
E.g.在我的SQL表数据的UserData:
No. | Username | Role 1 | Role 2 | Role 3 |
1 | Jimmy | USER | READONLY | WRITE |
数据,我想在我的GridView GridView1显示:
No. | Username | Roles |
1 | Jimmy | USER, READONLY, WRITE |
如何使用SELECT语句来合并3列中的数据并合并它们,用逗号分隔数据并在GridView中列出它们?
谢谢
编辑
我已经使用鲨鱼和门提供的方法试过,但我想删除逗号,如果在角色列中的数据是空的。现在
的情况是,Roles
列将这个样子,如果角色2和角色3是空的: USER,,
我可以知道我怎么能集团,
到变量以及因此它不会如果该值显示是空的?
您可能需要检查空值,因为连接具有空值的列会导致空值。请改用此SQL查询:select username,IsNull([role 1],'')+','+ IsNull([role 2],'')+','+ IsNull([role 3],')as UserData的角色 – Mun 2012-01-06 03:03:39
@RUiHAO看看我编辑过的帖子。它使用'ISNULL()'来获得你想要的结果。 – 2012-01-06 03:43:40
@那个查询会把逗号或双逗号用不同的NULL值加上。看看我的答案。在'ISNULL()'函数中组合列和逗号字符,这应该是OP正在寻找的东西。 – 2012-01-06 03:44:35