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
Post a Comment