sql - How to get Previous Value for Null Values -


i have below data in table.

   | id  |  feemodeid   |name        |   amount|    ---------------------------------------------    | 1   |  null        | null       |   20    |    | 2   |  1           | quarter-1  |   5000  |    | 3   |  null        | null       |   2000  |        | 4   |  2           | quarter-2  |   8000  |    | 5   |  null        | null       |   5000  |    | 6   |  null        | null       |   2000  |    | 7   |  3           | quarter-3  |   6000  |    | 8   |  null        | null       |   4000  | 

how write such query below output...

   | id  |  feemodeid   |name        |   amount|    ---------------------------------------------    | 1   |  null        | null       |   20    |    | 2   |  1           | quarter-1  |   5000  |    | 3   |  1           | quarter-1  |   2000  |        | 4   |  2           | quarter-2  |   8000  |    | 5   |  2           | quarter-2  |   5000  |    | 6   |  2           | quarter-2  |   2000  |    | 7   |  3           | quarter-3  |   6000  |    | 8   |  3           | quarter-3  |   4000  | 

please try:

select      a.id,     isnull(a.feemodeid, x.feemodeid) feemodeid,     isnull(a.name, x.name) name,     a.amount tbl outer apply (select top 1 feemodeid, name      tbl b      b.id<a.id ,          b.amount not null ,          b.feemodeid not null ,          a.feemodeid null order id desc)x 

or

select      id,     isnull(feemodeid, bfeemodeid) feemodeid,     isnull(name, bname) name,     amount from(     select          a.id , a.feemodeid, a.name, a.amount,          b.id bid, b.feemodeid bfeemodeid, b.name bname,         max(b.feemodeid) on (partition a.id) mx     tbl left join tbl b on b.id<a.id     , b.feemodeid not null )x  bfeemodeid=mx or mx null 

Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -