我可以在SQL中使用动态FROM子句吗?

时间:2016-11-11 10:10:51

标签: sql oracle bi-publisher

我目前正在处理依赖于另一个参数的报告参数值列表。 我想出了这个想法,有什么方法可以让它发挥作用吗?

Y

1 个答案:

答案 0 :(得分:0)

假设这是Oracle SQL,您可以使用EXISTS函数检查参数值,然后使用UNION组合这些集。

尝试使用此SQL:

select * from
(
select 'A' from dual 
union 
select 'B' from dual
)
where exists 
    (SELECT 'Y'
    FROM dual
    where 'parameter' = 'parameter'
    )
union
select * from
(
select 'X' from dual 
union 
select 'Y' from dual
)
where exists 
    (SELECT 'Y'
    FROM dual
    where 'parameter' != 'parameter'
    )

如果您反转条件'parameter' = 'parameter''parameter' != 'parameter',它将返回两个不同的行集。

我相信这可以再次优化,希望它适合你。