0
我是新来的PL/SQLPL/SQL,CASE语句或if语句
我有这样
SELECT f.code,f.date,f.amt, row_number() OVER (PARTITION BY f.code ORDER BY f.date DESC) ranki
FROM advance.alloc f
代码,并显示
CODE DATE AMT ranki
122 12/31/2016 3 1
122 12/31/2015 7 2
122 12/31/2014 3 3
123 6/30/2015 3 1
125 6/30/2015 2 1
125 12/31/2014 8 2
逻辑是这样的
if DATE = 12/__/__ AND ranki = 1 THEN ranki 1, so 122 picks 12/31/2016 3
if DATE = 6/30/__ AND ranki = 1 AND if ranki = 2 exists THEN then pick the second one,so 125 picks 12/31/2014 8
if 6/30__ and ranki is ONLY 1 shows Blank on date LIKE 123
所以我想显示
122 12/31/2016 3
123 __________ 3
125 12/31/2014 8
我该如何编写像这样的PL/SQL?
WHEN to_char(af.date,'MM') = 12 AND af.ranki = 1 THEN af.date END
我可以编写第一个逻辑,但我无法弄清楚如何休息
感谢
Wowwwwwwwwwwwwwwwwwwwwww!新奇!谢谢!!! –