mysql - JOIN nested subquery returning NULL while updating calculated value -
i'm trying work around "you can't specify target table update in clause" mysql error, means i've got nested subquery (temp table). note, i'm trying select work before move on actual update.
what i've got ledger table i'm trying find associated row's calculated unit total using active_units (what row started with) , each additional adjustment in active units (there 1 payment row , multiple adjustment rows in same table associated commission id , schedule number). these grouped month_num. if it's active_units = 18 , there 3 adjustment rows, 1 active_units_chg = -2, should end 18 + -2 = 16.
when this:
select active_units , active_units_chg , active_units_total , crm_commission_payments.active_units + ( select sum(active_units_chg) crm_commission_payments cp cp.crm_commissions_item_id = crm_commission_payments.crm_commissions_item_id , cp.schedule_a_no = crm_commission_payments.schedule_a_no , cp.month_num = crm_commission_payments.month_num , cp.item_active = 1 ) active_units_cal1 crm_commission_payments crm_commission_payments.payment_type = 'payment' , crm_commission_payments.crm_quotes_item_id = 2457 active_units_cal1 correct row. however, when nested join'd subquery, null active_units_calc.calc_chg:
select active_units , active_units_chg , active_units_total , crm_commission_payments.active_units + ( select sum(active_units_chg) crm_commission_payments cp cp.crm_commissions_item_id = crm_commission_payments.crm_commissions_item_id , cp.schedule_a_no = crm_commission_payments.schedule_a_no , cp.month_num = crm_commission_payments.month_num , cp.item_active = 1 ) active_units_cal1 , active_units_calc.calc_chg crm_commission_payments left join ( select source.calc_chg , source.crm_commissions_item_id , source.schedule_a_no , source.month_num crm_commission_payments cp1 inner join ( select sum(active_units_chg) calc_chg , cp.crm_commissions_item_id , cp.schedule_a_no , cp.month_num crm_commission_payments cp cp.item_active = 1 ) source source.crm_commissions_item_id = cp1.crm_commissions_item_id , source.schedule_a_no = cp1.schedule_a_no , source.month_num = cp1.month_num ) active_units_calc on ( active_units_calc.crm_commissions_item_id = crm_commission_payments.crm_commissions_item_id , active_units_calc.schedule_a_no = crm_commission_payments.schedule_a_no , active_units_calc.month_num = crm_commission_payments.month_num ) crm_commission_payments.payment_type = 'payment' , crm_commission_payments.crm_quotes_item_id = 2457 what doing wrong?
Comments
Post a Comment