数据库的兼容级别出错,总报错"'PIVOT' 附近有语法错误

今天帮人做一个交叉表,发现一个奇怪的问题

select Region,Post_City,CompanyId,CompanyName,[HP耗材放心店] as [HP耗材放心店],[HP产品专卖店] as [HP产品专卖店],[分公司(branch)] as [分公司(branch)] from
(
select
c.Region,c.Post_City,a.CompanyId,a.CompanyName,b.ItemId,b.StoreType
from
Profiling_Company a
left join Profiling_Branch b on a.CompanyId=b.CompanyId
inner join dbo.Rebate_Partner c on a.CompanyId=c.Company_Id
where a.Active=1
and c.Region='北区'
--and Post_City='秦皇岛'
) as PB
PIVOT
(
count(ItemId) for StoreType IN ([HP耗材放心店],[HP产品专卖店],[分公司(branch)])
) as PVT

上面的语句并未出错,但是总报错"'PIVOT' 附近有语法错误。您可能需要将当前数据库的兼容级别设置为更高的值,以启用此功能"
初步猜测是没有支持2005的新语法,不支持PIVOT关键字,(注:这个库是别人给我的,也许是从2000里导出来的)
按照提示需要修改正在操作数据库的兼容级别,在网上搜了一下,有个系统存储过程可以办到这点
EXEC   sp_dbcmptlevel kingdee,90
其中'kingdee'就是你要修改兼容性的数据库名,运行完毕后,重新运行上面的sql语句,执行成功

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lee576/archive/2008/01/17/2048565.aspx

转载于:https://www.cnblogs.com/flyfesh/archive/2009/07/06/1517771.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值