zoukankan      html  css  js  c++  java
  • oracle中查询结果集为空,则得到一个默认值

    有同事问我上述问题,我把我的实现思路写出来。
    子查询把查询的结果和默认的结果全部显示。
    父查询通过伪列rownum来筛选,如果查询有结果,就有几条就显示几条,而不去显示子查询中的默认值;如果查询没有结果,那就把默认值显示出来

    举例:

    select * from (
    select table_name from user_tables where rownum < 3
    union all
    select 'default' from dual )
    where rownum <= (select case (select count(1) from user_tables where rownum <3) when 0 then 1 else (select count(1) from user_tables where rownum <3) end from dual);

    这个查询,对user_tables的限制条件需要一样。通过调整限制条件中的记录数量,可以实现:如果查询有结果集,则有几个就显示几个,如果查询没有结果集,就显示default

  • 相关阅读:
    java中的设计模式
    stack
    最大堆排序
    Starship Troopers
    Tick and Tick
    Last non-zero Digit in N!
    G
    C
    B
    A
  • 原文地址:https://www.cnblogs.com/babyha/p/10411695.html
Copyright © 2011-2022 走看看