如何在SQL中运行Openquery中的Pivot ?



嗨,我正试图为他们在列中处理的每个销售人员拉出前3个帐户Id,并试图在查询下运行,但得到错误"1"附近语法错误

谁能告诉我为什么这个错误是

SQL Code:
Select   *   
from openquery([server01],'select  distinct Seller_id, Account_id, Account_Name, 
Account_rank from
(Select distinct Seller_ID, Account_id,Account_Name,Revenue,                                                                          
dense_rank () over( partition by Seller_ID  order by 
Revenue desc ) as Account_Rank 
from Table_Account ) a
PIVOT (
Max (Account_id) FOR Account_Rank in( ''1'' ,''2'',''3'' ) 
)AS pvt                                                                          
where account_rank <=3  and                           
order by Seller_ID ')    

我按照上面的评论尝试了下面的查询,它工作了

SQL Code:

Select * from openquery([server01],' Select distinct Seller_id, 'Account_id, Account_Name, Account_rank from (Select distinctSeller_ID, Account_id,Account_Name,Revenue,
dense_rank () over(按Seller_ID划分,按Revenue排序)作为从Table_Account中获取Account_Rank主(Max (Account_id) FORAccount_Rank in('[1]','[2]','[3]')
where account_rank <=3 order by Seller_ID ')

<代码>

最新更新