这实际上只是一个简短的问题,但我无法在任何地方找到答案。
是否可以将t/sql
查询中的Excel参数用作SELECT TOP xxxx
,其中此处的参数定义了获取的行数,而不使用存储过程?
答案 0 :(得分:4)
从sql 2005开始,您可以将查询编写为:
在msquery中输入以下内容:
{CALL sp_executesql (N'select top (@a) * from mytable', N'@a int', ?)}
答案 1 :(得分:0)
我不确定应用Excel参数,但是要在T-SQL中执行此操作:
select *
from (
select row_number() over (order by [Field]) as rowNum, *
from [myTable] ) s
where s.rowNum < @maxRows
答案 2 :(得分:0)
如果您在Excel中,是否可以使用Concat来构建SQL查询?
Concatenate("select top ", $D2, " from mytable where...")
并使用该单元格的值作为tsql表达式?
http://msdn.microsoft.com/en-us/library/aa188518(v=office.10).aspx