[英]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.