sql server - SQL - Dynamically generated Insert or Select statement based on some condition -


lets have table following data

customer table:

name      amount    date_created    invoice_number -------------------------------------------------- john     50         11april2012          12 bob      150        15april2012          32 david    506        10may2012            52 paul     80         12aug2012            12 mark     10         11jan2012            52 

summary table:

name        amount   --------------------- sally       250  darren-32   150  

i select rows date_created between start_date , end_date of current_quarter. if date_created within current quarter append invoice_number name before doing insert statement (see example in summary table above).

insert summary(name, amount) select name|| '-' || invoice_number, date_created, invoice_number customer; 
  • how can modify above use either "decode" function or "case" function (or other "if statement" type function) check value of date_created , append invoice_number if date_created within current quarter.

  • obviously need know start , end dates of current quarter , need store them somewhere before doing comparison. possible @ pure sql? pl/sql not option.

assuming in q1 (apr - jun) end result should be:

name        amount   --------------------- sally       250  darren-32   150 john-12     50 bob-32      150 david-52    506 paul        80 mark        10 

i reading customer table oracle 10g database , populating summary "summary" table resides in sql server database. fact inserting sql server database should not matter. reading data oracle database syntax should oracle compatible.

the oracle syntax describe in 2 bullet-points

select (case when     date_created >= trunc(sysdate,'q')                    , date_created < trunc(add_months(sysdate,3),'q')              name || '-' || invoice_number              else name          end),        date_created,         invoice_number   customer; 

Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c# - Copy ObservableCollection to another ObservableCollection -

All overlapping substrings matching a java regex -