Search code examples
sqlvertica

Adding new rows based on column value in SQL?


Comment         weekid  acc1    acc2    acc3    acc4       value
----------------------------------------------------------------------------------
Current data        1   a      b       c       d             2
Current data        1   a      b       c       e             3
Line to be added    1   a      b       c       Fixed New     value of d/value of e 

Any help will be greatly appreciated


Solution

  • I suspect you just want union all:

    select weekid, acc1, acc2, acc3, acc4, value
    from t
    union all
    select weekid, acc1, acc2, acc3, 'Fixed new' as acc4,
           ( max(case when acc4 = 'd' then value end) /
             max(case when acc4 = 'e' then value end)
           ) as value
    from t
    group by weekid, acc1, acc2, acc3;