SQl Pivot 帮助处理多个表
SQL Pivot 帮助: 我有以下三张表: 类表:
ID Name
1 N1
2 N2
3 N3
标志表:
ID ClassID Flags
1 1 F1
1 1 F2
1 2 F3
1 3 F1
1 3 F3
会话表:
ID ClassID Session
1 1 S1
2 1 S2
3 1 S3
4 2 S2
5 2 S5
6 3 S1
6 3 S2
现在我需要创建一个如下所示的视图:
类视图: >
ID Name Flags Session
1 N1 F1,F2 S1,S2,S3
2 N2 F3 S2,S5
3 N3 F1,F3 S1,S2
SQL Pivot Help:
I have three tables as follows:
Class Table:
ID Name
1 N1
2 N2
3 N3
Flags Table:
ID ClassID Flags
1 1 F1
1 1 F2
1 2 F3
1 3 F1
1 3 F3
Session Table:
ID ClassID Session
1 1 S1
2 1 S2
3 1 S3
4 2 S2
5 2 S5
6 3 S1
6 3 S2
Now I need to create a view something like this:
Class View:
ID Name Flags Session
1 N1 F1,F2 S1,S2,S3
2 N2 F3 S2,S5
3 N3 F1,F3 S1,S2
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从这个SO问题,我想通了下列:
From this SO question, I figured out the following:
最好的方法是在客户端的表示层中创建逗号分隔的列表。您可以将表连接在一起,如下所示:
尽管数据库并不打算格式化数据,但大多数数据库都支持某种生成逗号分隔列表的方式。例如,在 MySQL 中,您可以使用
group_concat
:如果您使用其他 DMBS,请将其添加到您的问题中。
The best approach would be to create the comma separated lists in the presentation layer of the client. You can join the tables together like:
Although databases are not meant to format data, most databases support some way of generating comma separated lists. For example, in MySQL, you can use
group_concat
:If you're using another DMBS, please add it to your question.