您是否见过任何错误消息?
-- SQL Server 2000
无法为视图或函数解析分配辅助表。
已超出查询中的最大表数 (256)。-- SQL Server 2005
查询中的表名过多。允许的最大值为 256。
如果是,你做了什么?
放弃了?说服客户简化他们的需求?非规范化数据库?
@(希望我发布查询的每个人):
- 我不确定是否可以在答案编辑窗口中粘贴 70 KB 的代码。
- 即使我可以这样做,这也无济于事,因为这 70 KB 的代码将引用 20 或 30 个我也必须发布的视图,否则代码将毫无意义。
我不想听起来像我在这里吹嘘,但问题不在于查询。查询是最佳的(或至少几乎是最佳的)。我花了无数个小时优化它们,寻找可以删除的每一列和每一个表。想象一个包含 200 或 300 列的报表,必须用单个 SELECT 语句填充(因为几年前它还是一个小型报表时就是这样设计的)。