2016-04-06 5 views
0

以下のクエリで何が間違っているのか誰にでも見られますか?私が持っている 値は、私は必要なもの0000111950012つのサブクエリーを持つmysql更新クエリ

products_model番号である。表中のすべての対応products_idの和attributes_stockは、表のproducts_attributeでproducts_id 1726のすべてattributes_stockの合計が500 これらの500は私が必要である

をproducts_attributeです私はそれを実行すると、フィールドproducts_quantity

表製品に私が取得:

UPDATE products As C INNER JOIN (
SELECT SUM(attributes_stock) AS products_quantiry 
FROM products_attributes 
WHERE products_id IN(
    SELECT products.products_id 
    FROM products 
    WHERE products_model LIKE '000011195001' 
    ) 
) 
AS A ON products.products_id = products_attributes.products_id 
SET C.products_quantity = A.products_quantiry 

表製品 products_model、products_id、products_quantity

000011195001、1726

表products_attribute products_id、attributes_stock

1726、300

1726、150

1726、50

事前ここ

答えて

0

でのおかげで(私はSQLのフィドルを行っているが、ウェブサイトでは、今働いていません: '():

UPDATE products 
INNER JOIN 
(SELECT products_id, SUM(attributes_stock) as qty 
FROM products_attribute 
GROUP BY products_id) T ON T.products_id = products.products_id 
SET products.products_quantity = T.qty 
WHERE products_model = '000011195001' 

+0

偉大な、これは私のために働く! – pekabo

関連する問題