最佳答案
我创建了一个具有重用结果的查询。我寻找一种方法将结果放入一个变量中并使用它。
一个简单的方法来看看我想要什么东西看起来像这样-我想要这样:
DECLARE @result1 ?????
SET @result1 = SELECT a,b,c FROM table1
SELECT a AS val FROM @result1
UNION
SELECT b AS val FROM @result1
UNION
SELECT c AS val FROM @result1
不是这个:
SELECT a AS val FROM (SELECT a,b,c FROM table1)
UNION
SELECT b AS val FROM (SELECT a,b,c FROM table1)
UNION
SELECT c AS val FROM (SELECT a,b,c FROM table1)
我关心的不是这个查询的结果,而是:
停止选择结果这么多次-在我的样本中,我重新选择了表3次
@result1
的查询通常要复杂得多。因此,使用一个变量,代码会更简洁。
也许我想多-或者有一个局部变量的类型。或者使用类型表并在其中设置数据。
你有什么建议?
谢谢你