【发布时间】:2012-04-27 18:07:07
【问题描述】:
我创建了一个重复使用某些结果的查询。我搜索了一种将结果放入变量并使用它的方法。
一个简单的方法来查看我想要的东西看起来像这样 - 我想要这个:
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的查询通常要复杂得多。所以,有了变量,代码会更干净。
也许我想要很多 - 或者有一种局部变量。或者使用类型表并在里面设置数据。
你有什么建议?
谢谢
【问题讨论】:
标签: sql-server-2005