查询EXEC结果

时间:2020-11-02 06:37:48

标签: sql sql-server tsql dynamic-sql

我的EXEC:

SET @Sql = "SELECT r.Id FROM Record r where r.Price > 100"

如何查询@Sql的结果?理想情况是这样的:

SELECT * FROM Record r JOIN Patient p 
ON r.Id = p.recordId 
WHERE r.Id IN (EXEC(@Sql))

1 个答案:

答案 0 :(得分:1)

也许是这样

SET @Sql = 'SELECT r.Id FROM Record r where r.Price > 100'

CREATE TABLE #DataSource 
(
    [ID] INT
);

INSERT INTO #DataSource ([ID])
EXEC(@SQL);

SELECT * 
FROM Record r 
JOIN Patient p 
    ON r.Id = p.recordId 
WHERE r.Id IN (SELECT [ID] FROM #DataSource);