繁体   English   中英

从案例生成的日期所需的SQL DB2最大日期

[英]SQL DB2 Max Date Needed for Date Generated from Case

我有一个查询:

select nfdoco as lease ,NFEFTE as billingend  , NFSUDT  as bill_suspend_date, NFAG/100 as rent,
case
when NFSUDT  = 0  then NFEFTE 
else min(NFEFTE ,  NFSUDT )
end as BillEndDate

from proddta.f1502b

where NFGLC in ('MINR', 'MING')  

我需要获取每个nfdoco的最大BillEndDate。 我之前在密集等级中使用了类似的功能,但是似乎不起作用,因为我要最大化的列已计算出来。

这可能吗? 有人对替代路线有任何建议吗?

尚未测试,但是在SQL Server上应该可以

select T.lease, T.billingend, T.NFSUD, T.RENT, max(T.BillEndDate)
from  (
    select nfdoco as lease ,
       NFEFTE as billingend  , 
       NFSUDT  as bill_suspend_date, 
       NFAG/100 as rent,
       case
          when NFSUDT  = 0  then NFEFTE 
          else min(NFEFTE ,  NFSUDT )
       end as BillEndDate
    from proddta.f1502b
    where NFGLC in ('MINR', 'MING')  
    ) T
group by T.lease, T.billingend, T.NFSUD, T.RENT

对于您的最后一条评论,请像这样更改查询

select T.lease, T.RENT, max(T.BillEndDate)
from  (
    select nfdoco as lease ,
       NFEFTE as billingend  , 
       NFSUDT  as bill_suspend_date, 
       NFAG/100 as rent,
       case
          when NFSUDT  = 0  then NFEFTE 
          else min(NFEFTE ,  NFSUDT )
       end as BillEndDate
    from proddta.f1502b
    where NFGLC in ('MINR', 'MING')  
    ) T
group by T.lease, T.Rent

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM