现在有一个需求,就是在原有商品参数的基础上,增加一个用户的支付状态。
然而用户的支付状态在订单表里面,而且老版本的数据当中,一个人存在多个订单。
也就是说,一个商品可能同时对应支付和未支付两个支付状态,如果用户支付了,当然只能已支付的状态
so...
SELECT
ins.total_score,pay.pay_status,DATE_FORMAT(ins.inspect_date,'%Y-%m-%d %H:%i:%s')
FROM ins_base ins
INNER JOIN (
SELECT MAX(pay_status) pay_status,inspect_code inspect_code
FROM indent
GROUP BY inspect_code
) pay
ON ins.report_code = pay.inspect_code
WHERE ins.customer_id = 196
ORDER BY ins.inspect_date DESC
LIMIT 0,2
ins_base(商品表)、indent(订单表)
我在商品表与订单表连表的同时,对订单表进行了子查询处理,因为在这个业务里规定,未支付为1,支付为2。
所以我对订单表进行了分组,同时对需要的支付状态字段(pay_status)取最大值。
如上...