从表中选择TOP n行,其中n在另一个表中?

时间:2013-05-13 04:24:07

标签: sql sql-server-2008 tsql

如何在不使用Dynamic SqlQuery的情况下实现这一目标?

我有这个查询,

SELECT TOP n FROM mytable WHERE ID = @id

获取n的值,

SELECT nCOUNT FROM myAnotherTable WHERE ID = @id

我可以使用Row_index()吗?

1 个答案:

答案 0 :(得分:5)

尝试这样....但请确保您的select ncount返回单行.....如果不是,则会选择顶行ncount

SELECT TOP(SELECT TOP 1 nCOUNT FROM myAnotherTable WHERE ID = @id) * FROM mytable WHERE ID = @id

SqlFiddle:http://www.sqlfiddle.com/#!3/75c76/1