0

我有十个表值函数,它们返回具有相同布局的表。我想在 SQL Server 2005 的视图中显示所有十个函数的输出。

当我在视图设计中尝试这样...

select col1, col2... coln from dbo.tableFunc1
Union
select col1, col2... coln from dbo.tableFunc2

我收到消息:

包含联合的视图不能在表格和图表窗格中以图形方式表示。

有什么方法可以在视图中聚合所有这些函数,还是我必须编写一个附加函数来聚合函数,然后只查看聚合函数的输出?

4

2 回答 2

4

没有必要做任何事情!

重新阅读警告消息,它只是告诉您该视图无法以图形方式表示。这并不意味着您的视图无效,您需要做的就是忽略该消息并继续工作。您的视图仍将被创建,并且仍然可以像任何其他视图一样使用。

于 2014-06-24T20:11:38.767 回答
1

为什么要为多个功能使用视图?为什么不直接从表中创建视图来执行功能的逻辑?EG:代替

select col1, col2
from dbo.tablefunc1
union
select col1, col2
from dbo.tablefunc2

Select col1, col2
from tableforfunc1 1
   join tableforfunc2 2 on 1.id = 2.id
union
Select col1, col2
from tablefunc2

如果由于创建表函数的逻辑而这太难了,为什么不重新制作一个更大的表函数或 proc 然后结合所有对象呢?

我在 SQL Server 2012 中使用一些基本的测试表函数进行了尝试,并且它们有效,所以我想知道这是否是 2005 的限制。

于 2013-03-18T22:59:28.610 回答