我正在尝试将sp作为子查询执行,并将sp的结果集视为外部查询的列。像这样的事情
Select U.FirstName , (exec SomeSP ) as columnFromSP from User U
这是否可能我搜索了很多但在谷歌上找不到任何东西。
更新
我不能使用#temp表,因为我试图没有#temp表
答案 0 :(得分:0)
不可能,但你可以解决它
但是,假设您有一个从存储过程返回的可连接表达式(您可以匹配到用户表中的字段)。如果存储过程on返回单行,则使用1 = 1或类似的条件
答案 1 :(得分:0)
-- 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
答案 2 :(得分:0)
如果您能够将USP转换为表值UDF,那么您将在FROM语句中使用UDF。
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