[英]error in EXEC Sp_executesql
我寫了這個查詢
DECLARE @Base nvarchar(200)
SET @Base = 'WITH Base AS (SELECT Id, ROW_NUMBER() OVER (ORDER BY Id DESC) RN FROM'+ QUOTENAME(@SampleWorkTbl)+')'
EXEC Sp_executesql @Base output
SELECT Top 15
[Id]
,IsLock
,[Title]
,[Desc]
,[ImageAddress]
,[Time]
FROM
[Sorin].[dbo].[News]
WHERE
[Id] IN (SELECT TOP 15 Id
FROM Base
WHERE RN > ((@Count-1) * 15)
ORDER BY Id DESC)
ORDER BY
[Id] DESC
我這行的問題
WHERE [Id] IN (SELECT TOP 15 Id From Base WHERE RN > ((@Count-1)*15) ORDER BY Id DESC)
無法識別Base
。
如何解決此錯誤?
我認為這是您想要實現的目標
DECLARE @Base NVARCHAR(200)
SET @Base = 'WITH Base AS (SELECT Id, ROW_NUMBER() OVER (ORDER BY Id DESC) RN FROM'
+ Quotename(@SampleWorkTbl) + ')
select * into ##temp from base'
EXEC Sp_executesql
@Base
SELECT *
FROM ##temp
SELECT TOP 15 [Id],
IsLock,
[Title],
[Desc],
[ImageAddress],
[Time]
FROM [Sorin].[dbo].[News]
WHERE [Id] IN (SELECT TOP 15 Id
FROM ##temp
WHERE RN > ( ( @Count - 1 ) * 15 )
ORDER BY Id DESC)
ORDER BY [Id] DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.