我将在我的选择陈述中构建一种过滤器。所以,我想做的是
如果@Decision
中有'ALL',那么我想从多个表中选择数据,如果这个案例表名称来自另一个选择查询
如果@Decision
没有'ALL',那么它将具有特定的表名,在这种情况下我想从指定的表名中选择数据
答案 0 :(得分:1)
正如Dan在评论中提到的,您需要为此
使用动态SQL因此,创建一个IF语句来询问@Decision
的值并相应地构建SELECT
语句
IF @Decision = 'ALL'
BEGIN
--build multiple select statement
SET @SQLString = 'SELECT * FROM ' + @TableName1 + ' UNION ALL SELECT * FROM ' + @TableName2
EXECUTE sp_executesql @SQLString
END
IF @Decision <> 'ALL'
BEGIN
--build single select statement
SELECT * FROM YourTable
END