你有没有看到任何错误信息?
— sql Server 2000
Could not allocate ancillary table for view or function resolution.
The maximum number of tables in a query (256) was exceeded.— sql Server 2005
Too many table names in the query. The maximum allowable is 256.
如果是,你做了什么?
放弃了?说服客户简化需求?对数据库进行非规范化?
@(每个人都希望我发布查询):
>我不知道我是否可以在答案编辑窗口中粘贴70千字节的代码.
>即使我可以这样做,这不会有帮助,因为这个70千字节的代码将引用20或30个视图,我也必须发布,否则代码将是无意义的.
我不想听起来像我在这里吹嘘,但问题不在于查询.查询是最优的(或至少几乎最优).我花了无数次优化他们,寻找每一个单独的列和每个可以删除的表.想象一下,有一个200或300列需要填充一个SELECT语句的报表(因为几年前它仍然是一个小报告).