问题描述
我有一个当前查询,如下所示
DECLARE @start BIGINT =2019,@end BIGINT =2020
DECLARE @yeartable table ( yr BIGINT)
WHILE (@start <= @end)
BEGIN
INSERT INTO @yeartable
SELECT @start
SET @start = @start + 1
END
我要做的就是从另一个查询动态传递@start
和@end
值
对于@start
,我将使用
SELECT MIN(fiscal_year)
FROM a.b
对于@end
,我将使用
SELECT MAX(fiscal_year)
FROM a.b
这有可能吗?预先谢谢你。
解决方法
我想我找到了答案
DECLARE
@start BIGINT =(SELECT MIN(fiscal_year)
FROM
a.b),@end BIGINT = (SELECT MAX(fiscal_year)
FROM
a.b])
DECLARE @yeartable table ( yr BIGINT)
while (@start <= @end)
begin
insert into @yeartable
select @start
set @start = @start+1
end
,
您可以通过以下方式分配变量:
SELECT @start = MIN(fiscal_year)
FROM a.b
SELECT @end = MAX(fiscal_year)
FROM a.b