A表  proid(产品ID)  pronum(产品数量)  orderid(订单号)
B表  id  (ID)   status(订单状态 1未付款 2已付款)  orderid(订单号)需要查询统计所有已付款订单中某个产品proid的产品数量总和我试着用join写了语句,可是不起作用!
Model = new \Think\Model(); // 实例化一个model对象 没有对应任何数据表
$ytresult=$Model->query("select sum(o.pronum) as pronumz from orderdetail o inner join ordermain p on o.innerorderid=p.innerorderid and p.status=4 and o.proid=".$proid);请帮忙看看怎么写,该怎样写?

解决方案 »

  1.   

    看你的需求status=4  应该等于2吧  如果还不行 看看你的proid传过来格式是不是对的
      

  2.   

    真不好意思 我重新发下问题
    orderdetail表  proid(产品ID)  pronum(产品数量)  orderid(订单号)
    ordermain表  id  (ID)   status(订单状态 1未付款 2已付款)  orderid(订单号)需要查询统计所有已付款订单中某个产品proid的产品数量总和我试着用join写了语句,可是不起作用!
    Model = new \Think\Model(); // 实例化一个model对象 没有对应任何数据表
    $ytresult=$Model->query("select sum(o.pronum) as pronumz from orderdetail o inner join ordermain p on o.innerorderid=p.innerorderid and p.status=2 and o.proid=".$proid);
      

  3.   

    直接用select语句不就行了吗
      

  4.   

    是java后台拼接语句么?
    sql部分实现代码如下 :
    SELECT  ORDERID AS '产品ID', SUM(PRONUM) AS '产品数量' FROM
    (
    SELECT 
    P.PRONUM,P.ORDERID
      FROM PRO P,STAT S WHERE 
    P.ORDERID = S.ORDERID AND
    S.STATUS = '2 'ORDER BY  S.ORDERID
     ) t  
    GROUP BY ORDERID
    ORDER BY ORDERID