Tsql 可以设置上一个查询的值
如何Tsql 可以设置上一个查询的值,tsql,Tsql,如何设置将值返回到新的查询 查询方式如下: DECLARE @count; SELECT COUNT(*) FROM a WHERE x = 1; SET @count = //result_last_query SELECT * FROM b WHERE z = @count; 如果要获取select查询的结果集并要在下一个语句中访问行数,可以使用@@rowcount 用法示例: Select top 10 * from SomeTable SELECT @@rowcount
设置
将值返回到新的查询
查询方式如下:
DECLARE @count;
SELECT COUNT(*) FROM a WHERE x = 1;
SET @count = //result_last_query
SELECT * FROM b WHERE z = @count;
如果要获取select查询的结果集并要在下一个语句中访问行数,可以使用
@@rowcount
用法示例:
Select top 10 * from SomeTable
SELECT @@rowcount
上面脚本中的第一个查询将返回10行,第二个查询将返回
10
您几乎完成了。您可以在查询中进行如下设置:
DECLARE @count INT
SELECT @count = COUNT(*) FROM a WHERE x = 1
SELECT * FROM b WHERE z = @count
简单到:
SELECT * FROM b
where z=(select count(*) FROM a FROM a WHERE x = 1;)}
您甚至不需要任何变量声明您所需要做的就是将变量放入查询本身,以便使用行计数设置变量的值 然后可以在下一个查询中使用变量的值
DECLARE @count;
SELECT @count = COUNT(*) FROM a WHERE x = 1;
SELECT * FROM b WHERE z = @count;
但是,请注意,该变量仅在执行过程中可见,因此您需要一次执行整个脚本,才能使@count
变量在最后一次查询中起作用。谢谢您的解决方案
我修改了答案代码
SELECT *
FROM B
WHERE id IN (
SELECT COUNT(*) AS count
FROM A
WHERE x = 1
)