我有一个存储过程,该过程使用几个参数来构建动态查询,然后执行该查询。该查询工作正常,但是,此过程将是Crystal Report的数据源,该报表需要它可以引用的“静态” SELECT with field names
。从Visual Basic应用程序调用Crystal Report,并从应用程序获取传递给它的参数。依次将参数传递给SQL Server存储过程。
我需要某种方式
SELECT fieldname1, fieldname2
FROM Exec(@MydynamcSQL)
在构建
@MydynamcSQL
之后。它是一个复杂的应用程序,它根据年份访问特定的表,并根据用户访问特定的数据库。我对SQL很陌生,所以也许有其他我不知道的方法可以使用? 最佳答案
尝试创建一个临时表以临时插入数据,然后从该表中进行选择:
DECLARE @MydynamcSQL varchar(1000);
SET @MydynamcSQL = 'select fieldname1, fieldname1 from table1';
CREATE TABLE #Result
(
fieldname1 varchar(1000),
fieldname2 varchar(1000)
)
INSERT #Result Exec(@MydynamcSQL)
SELECT fieldname1, fieldname1 -- here you have "static SELECT with field names"
FROM #Result
DROP TABLE #Result
关于sql - 从动态SQL查询中选择字段名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24252281/