2015-05-21 49 views
0

我需要在這裏做一個小的調整,不確定是否可以完成。 在下面,如果沒有'001'行,那麼我只需要1行的訂單,但是當有001時,我會根據最早的時間需要和下一個。在條件中選擇一行

CREATE VIEW rklib.clspaytp AS Select * from 
(
    Select x.*, 
    row_number() over (partition by otord# 
         order by case ottrnc when '001' then 1 else 2 end 
         , ottrnd, ottrt 
         ) 
        as RowN 
    from rklib.clspaytpp x 
) a 
where a.RowN in (1,2) 

回答

0

最好是使用一個聯盟如:

喜愛

我要在這裏和不知道做一個小的調整,如果是可以做到的。在下面的例子中,如果沒有'001'行,那麼我只需要1行的訂單,但是當我有001時,我會根據最早的時間需要這一行。

CREATE VIEW rklib.clspaytp AS 
    Select * 
    from rklib.clspaytpp 
    where ottrnc='001' 
    union 

    select * 
    from 
    (
    select * 
    from rklib.clspaytpp 
    where ottrnc != '001' 
    limit 1 
    ) x