Usar el resultado de un procedimiento almacenado en una instrucción Select

Tengo un procedimiento almacenado que devuelve un Dataset(Table) . ¿Cómo puedo usar el resultado de este procedimiento almacenado en una instrucción SELECT ?

necesito algo como esto

 SELECT T1.* FROM Dummy T0 INNER JOIN (EXEC [dbo].[SPGetResults] '900',300,'USD') T1 ON T1.aKey=T0.aKey 

Estoy usando SQL Server 2005

Cree una function definida por el usuario con valores de tabla en su lugar.

Estoy de acuerdo con Marcelo en general, pero si está usando un procedimiento almacenado, o su procedimiento almacenado hace algo que afecte datos, podría crear una tabla #temp con la estructura de la salida de su procedimiento almacenado, y luego hacer algo como

 INSERT INTO #temp EXEC [dbo].[SPGetResults] '900',300,'USD' 

Y luego haz tus uniones y selecciona en la tabla de temp.

La respuesta de Marcelo Cantos es la mejor. También para consultas distribuidas puede usar el siguiente script:

 USE [master] sp_configure 'Ad Hoc Distributed Queries', 1 RECONFIGURE USE [YourDB] SELECT * FROM OPENROWSET('SQLNCLI', 'Server=YourServer ;Trusted_Connection=yes;', 'EXEC YourDB.YourSchema.YourSP ''YourParameters1'', YourParameters2') AS c INNER JOIN YourTableOrView ap ON ap.YourPK = c.YourFK 

http://www.kodyaz.com/articles/how-to-sql-select-from-stonetworking-procedure-using-openquery-openrowset.aspx

Use Insertar en … Ejecutar y almacene el resultado en una Tabla de temperatura … Luego puede join a la tabla de temperatura en su instrucción de selección.

Alternativamente, como se sugirió antes, intente convertir el SP en una function con valores de tabla.

Este enlace proporciona muchas más opciones para usted … http://www.sommarskog.se/share_data.html

Aquí hay un ejemplo simple de la function definida por el usuario de la tabla de valores:

 create function personSidsByLastName(@lastName varchar(20)) returns table as return select personSid from Person where lastName like @lastName select * from PersonAddress pa where pa.personSid in (select personSid from personSidsByLastName('ali'))