如何SET
将值返回到新query
?
查询如:
DECLARE @count;
SELECT COUNT(*) FROM a WHERE x = 1;
SET @count = //result_last_query
SELECT * FROM b WHERE z = @count;
答案 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
变量用于上次查询。