gpt4 book ai didi

sql-server-2005 - SQL查询,将SELECT的结果存储在局部变量中

转载 作者:行者123 更新时间:2023-12-02 23:45:56 24 4
gpt4 key购买 nike

我创建了一个查询,并重复使用了一些结果。我寻找一种将结果放入变量并使用它的方法。

一种简单的方法来查看我想要的东西看起来像这样 - 我想要这个:

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)

我关心的不是这个查询的结果,而是:

  1. 停止多次选择结果 - 在我的示例中,我重新选择了表格 3 次

  2. @result1 的查询通常要复杂得多。所以,使用变量,代码会更干净。

也许我想要太多 - 或者有一种局部变量。或者使用类型表并在里面设置数据。

你对我有什么建议?

谢谢

最佳答案

您可以创建表变量:

DECLARE @result1 TABLE (a INT, b INT, c INT)

INSERT INTO @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

这应该可以满足您的需要。

关于sql-server-2005 - SQL查询,将SELECT的结果存储在局部变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10355694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com