DECLARE @colSelect TABLE(name VARCHAR(100));
insert into @colSelect values ('id')
insert into @colSelect values ('d')
insert into @colSelect values ('rpn')
insert into @colSelect values ('criticality')
insert into @colSelect values ('dateCreated')
DECLARE @tableName varchar(100), @startDate datetime, @endDate datetime
SET @tableName = 'tblFmeas'
SET @startDate = '2016-04-05 00:00:00'
SET @endDate = '2016-04-05 00:00:00'
DECLARE @SQL nvarchar(max)
SET @SQL = 'select ' + (select * from @colSelect) + ' from ' + @tableName + ' where dateCreated between ' + @startDate + ' and' + @endDate;
EXEC (@SQL)
有人对此提出建议吗?
因为在我的应用中,用户选择了他想要在报告中看到的列,我需要将它们传递给我的查询。
答案 0 :(得分:-1)
这里它返回多个值,因为没有连接条件,因此问题就出现了。
可能"从@colselect"中选择前1名。将工作。但不确定你想要实现的目标。