【发布时间】:2015-06-07 13:29:26
【问题描述】:
我有一个包含以下数据的表格。如果我的 sql 中的 where 子句在表中不存在,我正在努力使用 sql 来选择具有最大财政周期和财政年的行。
因此,换句话说,如果我尝试选择尚不存在的财政年度 8,我的查询应该检索具有确实存在的最大期间和年份的行。任何人都可以帮助我提供可以提供该答案的查询吗?
这是我迄今为止尝试过的。
SELECT
nvl(FISCAL_PERIOD,max(FISCAL_PERIOD)),nvl(FISCAL_year,max(FISCAL_year)),amount
FROM MAXTABLE
where fiscal_period = 5
group by FISCAL_PERIOD,FISCAL_year, amount;
CREATE TABLE MAXTABLE
( "FISCAL_PERIOD" NUMBER,
"FISCAL_YEAR" NUMBER,
"AMOUNT" NUMBER
)
Insert into MAXTABLE (FISCAL_PERIOD,FISCAL_YEAR,AMOUNT) values (1,9,50);
Insert into MAXTABLE (FISCAL_PERIOD,FISCAL_YEAR,AMOUNT) values (2,5,50);
Insert into MAXTABLE (FISCAL_PERIOD,FISCAL_YEAR,AMOUNT) values (3,6,50);
【问题讨论】: