首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将列动态添加到View或return from存储过程

将列动态添加到View或return from存储过程
EN

Stack Overflow用户
提问于 2011-04-19 04:12:13
回答 4查看 1K关注 0票数 0

我已经找到了很多这样的东西,但是我不能把它们放在一起。这基本上就是表的概念,其中name是varchar,date是datetime,number是int

代码语言:javascript
复制
Name | Date | Number
A     1-2-11  15
B     1-2-11   8
A     1-1-11   5

I'd like to create a view that looks like this

Name | 1-2-11 | 1-1-11
A      15       5
B       8

一开始,我使用的是一个临时表,并将每个日期行追加到该表中。我在另一个论坛上读到,这是一个主要的资源大王。这是真的吗?有没有更好的方法来做这件事?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-19 05:18:28

正如我在this answer中提到的那样,我会将动态SQL与pivot结合起来。

票数 0
EN

Stack Overflow用户

发布于 2011-04-19 04:15:28

如果日期列是一个已知的集合,那么您可以在某些情况下使用pivot。

使用动态sql通常更快,但这可能非常危险,所以要小心。

为了真正了解您的问题的最佳解决方案是什么,我们需要更多的信息--多少数据--不同列中预期的差异,等等。

然而,透视和动态SQL都会比临时表更快,这是事实。

票数 0
EN

Stack Overflow用户

发布于 2011-04-19 04:17:32

您需要查看“交叉表”或“透视”语句。在SQL Server 2005和更高版本中,它是关键,但语法在不同平台之间是不同的。

这是一个非常复杂的主题,尤其是因为您希望随着数据的增长而向视图中添加列。除了你的平台文档之外,还可以查看关于这个主题的无数其他SO帖子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5708326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档