我试图执行sp作为子查询,并将sp的结果集作为外部查询的列。这样结合sp结果select作为列
Select U.FirstName , (exec SomeSP) as columnFromSP from User U
有些事情是这样的可能,我搜索了很多,但发现在谷歌没有。
更新
因为我想没有#TEMP表
我试图执行sp作为子查询,并将sp的结果集作为外部查询的列。这样结合sp结果select作为列
Select U.FirstName , (exec SomeSP) as columnFromSP from User U
有些事情是这样的可能,我搜索了很多,但发现在谷歌没有。
更新
因为我想没有#TEMP表
如果您能够将您的USP转换为表值UDF,你会使用UDF在FROM声明。
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
不可能做我不能使用#temp表,但你可以解决它
但是这是假定LECT你想要的
列,你必须从存储过程(一个你可以匹配到一个字段在用户表)返回一个可连接的表达。如果返回单行存储过程中,使用的类似1 = 1或某事的条件
-- 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
我修改了结果。你可以试试这个@Ancient –
你不能这样做。您必须更改SP或将结果存储在临时表中并加入您的用户表 – jazzytomato
您可以将您的SomeSP转换为表值函数,然后可以在没有临时表的情况下执行此操作。 –
肖恩你可以添加任何示例? – Ancient