首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在select作为列中组合sp结果

在select作为列中组合sp结果
EN

Stack Overflow用户
提问于 2014-12-23 17:11:29
回答 3查看 119关注 0票数 0

我正在尝试执行sp作为子查询,并将sp的结果集作为外部查询的列。像这样的事情

Select U.FirstName , (exec SomeSP ) as columnFromSP from User U

这有可能我在谷歌上搜了很多遍却什么也没找到。

更新

我不能使用#temp表,因为我试图不使用#temp表。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-23 18:36:01

如果您能够将USP转换为表值UDF,那么您将在FROM语句中使用UDF。

代码语言:javascript
复制
CREATE FUNCTION dbo.SomeUDF
(   
    -- Add the parameters for the function here
    @param varchar(1000)
)
RETURNS TABLE 
AS
RETURN 
(

    SELECT @param as Value
)
GO

SELECT 
    a.Value,
    'B' as Value2 
FROM dbo.SomeUDF('ABC') a
票数 0
EN

Stack Overflow用户

发布于 2014-12-23 17:15:50

不可能,但你可以绕开它

  • 创建一个临时表&将过程的结果插入其中
  • 现在将用户表与临时表连接起来,并选择 从两个表中需要的列

但是,这假设您有一个从存储的proc返回的可连接表达式(一个可以与user表中的字段匹配)。如果存储过程返回一行,则使用1=1或类似的条件。

票数 0
EN

Stack Overflow用户

发布于 2014-12-23 17:16:27

代码语言:javascript
复制
-- Declare a temp table and column(for eg you have only 1 column)
CREATE TABLE #TEMP
(
   FirstName VARCHAR(50)       
)

-- The results after execution will be inserted to this table
INSERT INTO #TEMP
Exec SomeSP 'Params'

-- Select records from both tables in all combinations
SELECT U.FirstName , COL1 as columnFromSP 
from User U
CROSS JOIN #TEMP
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27624972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档