2016-11-22 70 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

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

相關問題