| 123456789101112131415161718 |
- SELECT sum(goods_count*(goods_count-1)*(goods_count-2)/6) as priamry_goods_count from (
- select
- s.bill_no, count(concat(ss.goods_id, '_', ss.color_id)) as goods_count
- from rbp.rbp_sales_order_bill s final
- left join rbp.rbp_sales_order_bill_goods sg on s.id = sg.bill_id
- left join rbp.rbp_sales_order_bill_size ss on s.id = ss.bill_id and sg.id = ss.bill_goods_id
- where s.bill_no in (select
- s.bill_no
- from rbp.rbp_sales_order_bill s final
- left join rbp.rbp_sales_order_bill_goods sg on s.id = sg.bill_id
- left join rbp.rbp_sales_order_bill_size ss on s.id = ss.bill_id and sg.id = ss.bill_goods_id
- left join rbp.rbp_goods g on ss.goods_id = g.id
- left join rbp.rbp_color cl on ss.color_id = cl.id
- where g.code = 'g_code_holder' and cl.`code` = 'cl_code_holder' and sg.type = 0 and s.bill_date >= 'date_start_holder' and s.bill_date < 'date_end_holder')
- and (ss.goods_id != goods_id_holder OR ss.color_id != color_id_holder)
- and s.bill_date >= 'date_start_holder' and s.bill_date < 'date_end_holder' and sg.type = 0 and sg.sales_discount > 0.5
- group by s.bill_no having goods_count >=3
- );
|