【发布时间】:2013-02-05 20:16:17
【问题描述】:
我有一张桌子,例如假设这个设置
表 MyTable 有各种列 Id、UserId、col1、col2 col3,包括名为 Stuff 的列。
我想通过查询从 MyTable 中输出某些列 但我想拆分“Stuff”列,以便在查询中显示 2 个新列
我可以定义硬编码的类别,我不确定如何在 sql 中表示
Categoy1 = "alpha, bravo, delta, gamma';
Categoy2 = "charlie, echo, hotel';
MyTable
ID | UserID | Stuff | Other Cols....
----------------------------------------------------------
1 1 alpha
2 2 hotel
3 1 charlie
4 1 echo
5 1 gamma
6 2 bravo
7 2 delta
我希望显示选择查询
UserId | Category1 | Catergory2
----------------------------------------------------------
1 alpha, gamma charlie, echo
---------------------------------------------------------
2 bravo, delta hotel
----------------------------------------------------------
即根据 stuff 列是否包含 category1 或 category2 中的项目生成 2 列 基于不同的 userId,类别内容可以用逗号分隔,如上所示
请你说明如何做到这一点
希望这是有道理的。
谢谢
【问题讨论】:
-
分类是否限制为2个?
-
没有任何一个类别是有限的
标签: sql sql-server sql-server-2008