2012-04-26 40 views

回答

8

下面的查询会给你你从Adventure Works数据库基于变量@NumRows值寻找什么,3至5万行:

DECLARE @NumRows INT=3000000; -- Number of rows to return 

SELECT TOP(@NumRows) B1.*    -- Take @NumRows out of: 
FROM Production.BillOfMaterials B1  -- BillOfMaterials has 2,679 rows 
CROSS JOIN Production.BillOfMaterials B2 -- multiplied by 2,679 rows = 7,177,041 rows 

注意:此查询可能需要一段时间来运行(例如,我的PC上17秒)。

+0

谢谢,这就是我一直在寻找的。我花了33秒:-)无论如何,我会尝试在其他列上做更多的列。 – Zerotoinfinity 2012-04-26 14:45:01

+1

也许我应该明确表示,我的电脑是超频的4.7 GHz i7-2600k,带有Intel 320 SSD存储器,当给你提供时序示例时。如果你想要更多的列,只需用'*'替换'B1。*',并且将有两倍的列(即所有的'B1'列和所有'B2'列)。 – 2012-04-26 14:46:34