Я написал этот запрос, чтобы получить данные для специального ключевого слова:Как использовать SQL ROW_NUMBER с INNER JOIN?
ALTER procedure [dbo].[GetAllSpecialPaperTags]
@PKeyword nvarchar(200)
as
begin
select
Papers.PID, Papers.PTitle, Papers.PaperSummary
from
PaperKeywords
left join
PaperTags on PaperKeywords.PKeyID = PaperTags.PKeyID
left join
Papers on PaperTags.PID = Papers.PID
where
PaperKeywords.PKeyword = @PKeyword
end
Я хочу использовать эту статью для пользовательского пейджинга: Custom Paging using SQL Server Stored Procedure
Я написал этот запрос, но я получаю сообщение об ошибке:
create procedure [dbo].[GetAllSpecialPaperTags]
@PageIndex INT = 1
,@PageSize INT = 10
,@RecordCount INT OUTPUT
,@PKeyword nvarchar(200)
as
BEGIN
SET NOCOUNT ON;
SELECT ROW_NUMBER() OVER
(
ORDER BY [Papers.PID] ASC
)AS RowNumber
,Papers.PID , Papers.PTitle , Papers.PaperSummary
INTO #Results
from PaperKeywords
left join PaperTags on PaperKeywords.PKeyID = PaperTags.PKeyID
left join Papers on PaperTags.PID = Papers.PID where PaperKeywords.PKeyword = @PKeyword
SELECT @RecordCount = COUNT(*)
FROM #Results
SELECT * FROM #Results
WHERE RowNumber BETWEEN(@PageIndex -1) * @PageSize + 1 AND(((@PageIndex -1) * @PageSize + 1) + @PageSize) - 1
DROP TABLE #Results
end
Ошибка:
Msg 207, Level 16, State 1, Procedure GetAllSpecialPaperTags, Line 11
Invalid column name 'Papers.PID'.
Почему?
или [Papers]. [PID]. –