sql - Aggregate may not appear in the set list of an UPDATE statement -


receiving error stating aggregate may not appear in set list of update statement. ideas?

 update stock set stock.lpurchdate = max(invtrans.trans_date)  stock  inner join invtrans on stock.number = invtrans.number  invtrans.notation <> 'product merging' , (invtrans.transtype = 'd' or invtrans.transtype = 'a') 

try this

update stock set stock.lpurchdate = (select max(invtrans.trans_date) invtrans                                 invtrans.notation <> 'product merging'                                  ,  invtrans.transtype in('d','a')                                  , stock.number = invtrans.number) 

or

;with tmp as( select stock.number, max(invtrans.trans_date) mx  stock  inner join invtrans on stock.number = invtrans.number  invtrans.notation <> 'product merging' , (invtrans.transtype = 'd' or invtrans.transtype = 'a') )  update stock set stock.lpurchdate = mx  stock  inner join tmp on stock.number = tmp.number 

Comments

Popular posts from this blog

searchKeyword not working in AngularJS filter -

sequelize.js - Sequelize: sort by enum cases -

user interface - how to replace an ongoing process of image capture from another process call over the same ImageLabel in python's GUI TKinter -