我有一个请求给了我成千上万行的结果,我想将它分成10k行的小临时表,每个行有1到10 000的递增数。让我们说我有一个25 000行的大查询,我想要的是将它分成2个10k的表格和5k的第三个表格。当然,我不知道我将不得不拆分的确切页数。SQL正确地分割一个结果
我与所有行第一查询被命名为[#DECLARATION]和具有许多NumeroDeclaration,对于第1页,图1是0 2页等,以9。每个10 000行它是从递增0至10 000
在这个时候我的要求是这样的:
--Page 1
SELECT * INTO [#PAGE1] FROM [#DECLARATION] WHERE NumeroDeclaration =0 ORDER BY NumeroTransaction;
--Numerotation
WITH upd AS (SELECT NumeroDeclaration, ROW_NUMBER() OVER (ORDER BY NumeroTransaction) AS Numtemp FROM [#PAGE1])
UPDATE upd SET NumeroDeclaration = Numtemp
--Page 2
SELECT * INTO [#PAGE2] FROM [#DECLARATION] WHERE NumeroDeclaration =1 ORDER BY NumeroTransaction;
--Numerotation
WITH upd AS (SELECT NumeroDeclaration, ROW_NUMBER() OVER (ORDER BY NumeroTransaction) AS Numtemp FROM [#PAGE2])
UPDATE upd SET NumeroDeclaration = Numtemp
--Page 3
--etc.... to Page 10...
我必须这样做,超过10页,和它的作品,但有另一种短 /分类器对d的方式它呢?
进出口使用SQL SERVER 2008感谢您阅读
为什么它拆分临时表,而不只是选择组行希望每个时间? –
@ GabyakaG.Petrioli因为在我把它分成更小的表格之后,我必须从每张表格中写出标题,然后将它们一起植入到业务对象中。我知道我可以使用一个简单的python脚本将其导出到.csv,但我不被允许:( – prince