首页 > 解决方案 > Postgresql - 仅执行某些 IF 语句

问题描述

我想通过使用 UNION 来整理一些查询的结果。但我只想执行一些查询......在下面的示例中,该部分('Daily','Yearly')将自动填写。

类似于:

(if 'Daily' in ('Daily','Yearly') then
my first query goes here...
end if)
UNION ALL
(if 'Monthly' in ('Daily','Yearly') then
my second query goes here...
end if)
UNION ALL
(if 'Yearly' in ('Daily','Yearly') then
my third query goes here...
end if)

在此示例中,第二个查询的结果不应出现在输出中。

附带说明:我已经有 3 个工作查询,我缺少的是如何动态执行它们并将它们放在一个输出中。

标签: postgresqlif-statementselect

解决方案


尝试将这些条件放在适当的“位置”部分中。如果不满足文字条件,引擎必须跳过查询。

my first query goes here...
Where 'Daily' in ('Daily','Yearly')
UNION ALL
my second query goes here...
Where 'Monthly' in ('Daily','Yearly')
UNION ALL
my third query goes here...
Where 'Yearly' in ('Daily','Yearly')

推荐阅读