round(cr_amount/weight*qty,2) as kgrtWhen a calculation is "wrong", it is often a good idea to compare the wrong result with the correct one by multiplying, dividing, adding or subtracting the two values. The difference will often make you realize what's the mistake.
>select data1.month,sum(data1.qty) as qty,sum(data1.weight) as weight,sum(data1.amount) as amount,max(data1.kgrt)as kgrt > from > (select month(date) as month,qty,qty * weight as weight,round(cr_amount/weight,2)as kgrt,cr_amount as amount from cashsalp > where type='P' > union all > select month(date) as month, qty,qty * weight as weight,round(cr_amount/weight,2)as kgrt,cr_amount as amount from crsalp > where type='P') > as data1 > group by data1.month >>