2016-10-13 30 views

回答

0

您可以使用分析功能;這種使用CTE提供基礎數據與剛剛在帳戶:

with all_queues (account) as (
    select '12345D' from dual 
    union all select '12345D' from dual 
    union all select '12345D' from dual 
    union all select '12345M' from dual 
    union all select '22222D' from dual 
    union all select '22222D' from dual 
    union all select '22222D' from dual 
    union all select '22222D' from dual 
) 
select account, 
    case max(substr(account, -1)) 
     over (partition by substr(account, 1, length(account) - 1)) 
    when 'M' then 'N' else 'Y' end as posting_flag 
from all_queues; 

ACCOUNT POSTING_FLAG 
------- ------------ 
12345D N 
12345D N 
12345D N 
12345M N 
22222D Y 
22222D Y 
22222D Y 
22222D Y 

8 rows selected. 

如果帳戶確實總是七個字符,那麼你可以簡化分區子。

+0

謝謝亞歷克斯!這工作完美。 – maggsforever

相關問題