Sql offset与临时表和Rows命令一起工作吗
我本想在sql server 2014及更高版本中使用新行和偏移量,但它似乎不允许我使用临时表 我将另一个查询加入到这个查询中,并将它们插入到临时表中。我之所以想使用offset命令是为了分页,但我想它不适用于临时表Sql offset与临时表和Rows命令一起工作吗,sql,sql-server,Sql,Sql Server,我本想在sql server 2014及更高版本中使用新行和偏移量,但它似乎不允许我使用临时表 我将另一个查询加入到这个查询中,并将它们插入到临时表中。我之所以想使用offset命令是为了分页,但我想它不适用于临时表 select st.StocktakeID, bi.BinName, si.ItemID as StockItemID, si.Code, si.Name,
select st.StocktakeID,
bi.BinName,
si.ItemID as StockItemID,
si.Code,
si.Name,
si.Barcode,
si.StockUnitName,
scsi.StocktakeCountShtItemID,
scsi.RecordedQuantityInStock,
scsi.ActualQuantityEntered,
scsi.ActualQuantityInStock
into #StockTakeItems
from #StockTakes st
join StocktakeCountSheetItem scsi on st.StocktakeID = scsi.StocktakeID
join BinItem bi on scsi.BinItemID = bi.BinItemID
join StockItem si on bi.ItemID = si.ItemID
select * from #StockTakeItems sti
OFFSET @start Rows
Fetch NEXT 10 ROWS ONLY
end
GO
我发现了错误
预期行附近的语法不正确
但我在生产服务器上使用2014,在测试服务器上使用2017,这应该在2017年起作用,否则他们会将其删除
在SQL server中使用offset和fetch时,您需要根据我的假设添加订单。我认为这应该行得通
select st.StocktakeID,
bi.BinName,
si.ItemID as StockItemID,
si.Code,
si.Name,
si.Barcode,
si.StockUnitName,
scsi.StocktakeCountShtItemID,
scsi.RecordedQuantityInStock,
scsi.ActualQuantityEntered,
scsi.ActualQuantityInStock
into #StockTakeItems
from #StockTakes st
join StocktakeCountSheetItem scsi on st.StocktakeID = scsi.StocktakeID
join BinItem bi on scsi.BinItemID = bi.BinItemID
join StockItem si on bi.ItemID = si.ItemID
select * from #StockTakeItems sti
order by StocktakeID
OFFSET @start Rows
Fetch NEXT 10 ROWS ONLY
您也可以检查此链接: