2016-11-22 73 views
-1

这是为我的论文和死胡同是后来我不知道我在这里做错了什么..我希望有人能帮助我知道这里有什么问题谢谢mysql#1242 - 子查询返回多于1行

SELECT 
     flower_id, 
     flower_name, 
     flower_description, 
     flower_price, 
     flower_category, 
     (quantity - (SELECT 
       SUM(q.quantity_value) 
      FROM 
       orders_details od 
        INNER JOIN 
       cart_details cd ON cd.cart_id = od.cart_id 
        INNER JOIN 
       quantities q ON q.quantity_id = cd.quantity_id 
      WHERE 
       od.flag = 1 AND cd.flower_id = flower_id 
      GROUP BY cd.flower_id)) AS 'quantity', 
     mfg_date, 
     exp_date 
    FROM 
     flower_details, 
     categories 
    WHERE 
     flower_details.flower_category = categories.category_id 

什么IM这里做的是让产品从顾客买减去库存股

+0

你想要什么?你有什么? –

+0

获取产品库存产品的差异总计 - 客户购买的产品和产品的某些信息 –

+0

尝试仅执行子查询并对其进行调试 – vstelmakh

回答

0

如果你的子查询返回多于一个行,你应该使用的子查询 如果内部联接加入总和总量的子选择返回更多然后你应该加入使用内部连接的总和子选择内部连接子选择

 SELECT 
     flower_details.flower_id, 
     flower_name, 
     flower_description, 
     flower_price, 
     flower_category, 
     flower_details.quantity - t1.quantity, 
     mfg_date, 
     exp_date 
    FROM flower_details 
    INNER JOIN categories ON flower_details.flower_category = categories.category_id 
    INNER JOIN  (
       SELECT cd.flower_id , 
       SUM(q.quantity_value) AS quantity 
      FROM 
       orders_details od 
        INNER JOIN 
       cart_details cd ON cd.cart_id = od.cart_id 
        INNER JOIN 
       quantities q ON q.quantity_id = cd.quantity_id 
      WHERE 
       od.flag = 1 AND cd.flower_id = flower_id 
      GROUP BY cd.flower_id 
    ) t1 on flower_details.flower_id = t1.flower_id 
+0

字段列表中的列'数量'含糊不清 –

+0

答案更新..这应消除歧义 – scaisEdge

+0

字段列中的列'数量'是模糊的先生:( –

相关问题