Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- select round((case
- when (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) - ) >=0 and if(1 =0 or 1 is null,if(p.switch=1,p.retail1,p.retail2),1) > (case
- when if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) >= and ifnull(sum(if(c.storage_id in (select id from storages where group_id=32),c.cost*c.amount,0))/
- sum(if(c.storage_id in (select id from storages where group_id=32),c.amount,0)) ,0) > 0
- then ifnull(sum(if(c.storage_id in (select id from storages where group_id=32),c.cost*c.amount,0))/
- sum(if(c.storage_id in (select id from storages where group_id=32),c.amount,0)) ,0)
- when if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) < and (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0)))) >= and ifnull(max(if(c.storage_id=2,c.cost,0)),0)>0
- then ifnull(max(if(c.storage_id=2,c.cost,0)),0)
- when (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0)))) < and (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0))) + sum(if(c.storage_id=4,c.amount,0))) > and ifnull(max(if(c.storage_id=4,c.cost,0)),0)>0
- then ifnull(max(if(c.storage_id=4,c.cost,0)),0)
- else 99999999 end)*1.05
- then if(1 =0 or 1 is null,if(p.switch=1,p.retail1,p.retail2),1)
- when (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) - ) >=0 and if(1 =0 or 1 is null,if(p.switch=1,p.retail1,p.retail2),1) <= (case
- when if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) >= and ifnull(sum(if(c.storage_id in (select id from storages where group_id=32),c.cost*c.amount,0))/
- sum(if(c.storage_id in (select id from storages where group_id=32),c.amount,0)) ,0) > 0
- then ifnull(sum(if(c.storage_id in (select id from storages where group_id=32),c.cost*c.amount,0))/
- sum(if(c.storage_id in (select id from storages where group_id=32),c.amount,0)) ,0)
- when if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) < and (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0)))) >= and ifnull(max(if(c.storage_id=2,c.cost,0)),0)>0
- then ifnull(max(if(c.storage_id=2,c.cost,0)),0)
- when (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0)))) < and (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0))) + sum(if(c.storage_id=4,c.amount,0))) > and ifnull(max(if(c.storage_id=4,c.cost,0)),0)>0
- then ifnull(max(if(c.storage_id=4,c.cost,0)),0)
- else 99999999 end)*1.05
- then round(((case
- when if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) >= and ifnull(sum(if(c.storage_id in (select id from storages where group_id=32),c.cost*c.amount,0))/
- sum(if(c.storage_id in (select id from storages where group_id=32),c.amount,0)) ,0) > 0
- then ifnull(sum(if(c.storage_id in (select id from storages where group_id=32),c.cost*c.amount,0))/
- sum(if(c.storage_id in (select id from storages where group_id=32),c.amount,0)) ,0)
- when if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) < and (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0)))) >= and ifnull(max(if(c.storage_id=2,c.cost,0)),0)>0
- then ifnull(max(if(c.storage_id=2,c.cost,0)),0)
- when (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0)))) < and (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0))) + sum(if(c.storage_id=4,c.amount,0))) > and ifnull(max(if(c.storage_id=4,c.cost,0)),0)>0
- then ifnull(max(if(c.storage_id=4,c.cost,0)),0)
- else 99999999 end)*1.05),-1)
- when (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) - ) <0 and ((if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0)))) - ) >= 0 and if(1 =0 or 1 is null,if(p.switch=1,p.retail1,p.retail2),1) > ifnull(max(if(c.storage_id=2,c.cost,0)),0)*1.01
- then if(1 =0 or 1 is null,if(p.switch=1,p.retail1,p.retail2),1)
- when (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) - ) <0 and ((if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0)))) - ) >= 0 and if(1 =0 or 1 is null,if(p.switch=1,p.retail1,p.retail2),1) <= ifnull(max(if(c.storage_id=2,c.cost,0)),0)*1.01
- then round((ifnull(max(if(c.storage_id=2,c.cost,0)),0)*1.01),-1)
- when (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) - ) <0 and ((if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0)))) - ) < 0 and ((if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0))) + sum(if(c.storage_id=4,c.amount,0))) - ) >= 0 and if(1 =0 or 1 is null,if(p.switch=1,p.retail1,p.retail2),1) > ifnull(max(if(c.storage_id=4,c.cost,0)),0)*1.02
- then if(1 =0 or 1 is null,if(p.switch=1,p.retail1,p.retail2),1)
- when (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) - ) <0 and ((if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0)))) - ) < 0 and ((if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0))) + sum(if(c.storage_id=4,c.amount,0))) - ) >= 0 and if(1 =0 or 1 is null,if(p.switch=1,p.retail1,p.retail2),1) <= ifnull(max(if(c.storage_id=4,c.cost,0)),0)*1.02
- then round((ifnull(max(if(c.storage_id=4,c.cost,0)),0)*1.05),-1)
- when (if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) - ) <0 and ((if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0)))) - ) < 0 and ((if((sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )<=0,0,(sum(if(c.storage_id=1,c.amount,0)) + sum(if(c.storage_id=3,c.amount,0)) - (max(ifnull(r.amount,0)) - 0) )) + if(sum(if(c.storage_id=2,c.amount,0))>10,500,sum(if(c.storage_id=2,c.amount,0))) + sum(if(c.storage_id=4,c.amount,0))) - ) < 0
- then 99999999
- else if(1 =0 or 1 is null,if(p.switch=1,p.retail1,p.retail2),1) end)) price
- from goods g
- left join contents c on c.good_id=g.id
- left join prices p on p.good_id = g.id and p.shop_id=1
- left join
- (select tc.good_id, sum(tc.amount)amount
- from transactions_content tc
- join
- (select r.transaction_id, substring_index(group_concat(r.reserve order by r.id desc),',',1)r
- from reserves r
- join transactions_content tc on tc.status=0 and tc.transaction_id=r.transaction_id and tc.good_id='185'
- join transactions t on r.transaction_id=t.id and t.direction=-1
- where r.status = 0
- group by r.transaction_id
- having r>0)r
- on r.transaction_id = tc.transaction_id
- where tc.good_id='185'
- group by tc.good_id) r
- on r.good_id=g.id
- where g.id = 185
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement