可以设置上一个查询的值

时间:2016-12-19 10:08:27

标签: tsql

如何SET将值返回到新query

查询如:

DECLARE @count;   

SELECT COUNT(*) FROM a WHERE x = 1;

SET @count = //result_last_query

SELECT * FROM b WHERE z = @count;

5 个答案:

答案 0 :(得分:2)

简单如下:

false

你甚至不需要任何变量声明

答案 1 :(得分:1)

感谢良好的解决方案

我修改了答案代码

SELECT  *
FROM    B
WHERE   id IN (
                SELECT COUNT(*) AS count
                FROM A
                WHERE x = 1
              )

答案 2 :(得分:0)

如果您想获取select查询的结果集并希望在下一个语句中访问行计数,您可以使用 @@rowcount

示例用法:

Select top 10 * from SomeTable
SELECT @@rowcount

上面脚本中的第一个查询将返回10行,第二个查询将返回10

答案 3 :(得分:0)

你差不多完成了。您可以在查询中设置如下:

DECLARE @count INT   

SELECT @count = COUNT(*) FROM a WHERE x = 1

SELECT * FROM b WHERE z = @count

答案 4 :(得分:0)

您需要做的就是将变量放在查询本身中,以便使用行计数设置变量的值。

然后您可以在下一个查询中使用变量值。

DECLARE @count;   

SELECT @count = COUNT(*) FROM a WHERE x = 1;

SELECT * FROM b WHERE z = @count;

但是,请注意,变量只会在执行期间可见,因此您需要一次性执行 整个脚本 ,以便@count变量用于上次查询。