小编And*_*rew的帖子

为什么 UNPIVOT 在兼容级别 80 DB 上工作?

我正在尝试在兼容级别为 80 的 SQL Server 2008 SP3 数据库上使用 UNPIVOT 提取数据。这应该意味着 UNPIVOT 不起作用,但在我的情况下它在某些情况下起作用......

作品:

表单的独立 SELECT 查询:

SELECT...FROM...UNPIVOT...WHERE...GROUP BY
Run Code Online (Sandbox Code Playgroud)

不起作用:

同一查询,在LEFT JOIN ()同一服务器内不同数据库上的其他表上。全部在兼容性级别 80。

我收到通常的错误消息:

Msg 325, Level 15, State 1, Line 165
Incorrect syntax near 'UNPIVOT'. You may need to set the compatibility level
of the current database to a higher value to enable this feature. See help for
the SET COMPATIBILITY_LEVEL option of ALTER DATABASE.
Run Code Online (Sandbox Code Playgroud)

UNPIVOT解决方法似乎很麻烦,如果可能的话,我希望这个查询是独立的和可刷新的。如果我可以让查询独立工作,那么应该可以在JOIN.

问题:

为什么有时会这样?

在这些条件下如何实现UNPIVOT子查询JOIN

Unpivot …

sql-server unpivot

8
推荐指数
1
解决办法
2074
查看次数

标签 统计

sql-server ×1

unpivot ×1