gpt4 book ai didi

sql - 在 SQL : When 'no results' return from a query show some default results 中

转载 作者:行者123 更新时间:2023-11-29 11:38:11 24 4
gpt4 key购买 nike

我正在使用 Postgres 从表中获取结果。我想用 SQL 来解决一个问题。

当我的 postgresql 查询没有返回结果时,我希望显示一些默认行结果。我正在使用 Jasper-reports,所以我没有很多工具来捕获没有结果的事件,然后提供默认结果。

当第一个查询确实显示结果时,我不希望出现默认结果。目前我正在尝试使用 UNION 但我希望 Union 命令之后的第二个查询仅在第一个查询显示 0 个结果时发生。

这可以用 SQL 完成吗?

最佳答案

您可以尝试 CTE:

with fooresults as
(
select c1, c2 from foo
)

select c1, c2 from fooresults
union
select c1, c2 from blah
where (select count(*) from fooresults)=0

或者您可以在不计算的情况下测试空结果:

 where not exists (select 1 from fooresults) 

附言当然,您可以在实例化 CTE 时添加所需的任何条件:

      select c1, c2 from foo where .... <some conditions>

关于sql - 在 SQL : When 'no results' return from a query show some default results 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15972417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com