0

エラーが表示されます:エラー番号: 1242 サブクエリが複数の行を返します

MyUPDATEのサブクエリは繰り返し値を生成するためです。クエリの繰り返し値を知ってDISTINCTおり、削除できます。クエリでそれを修正するにはどうすればよいですか。私のクエリはここにありますGROUP BYSELECTUPDATE

UPDATE 
    product_stock AS S
LEFT JOIN
    product_purchase_item AS I
ON
     S.product_id=I.product_id AND S.product_size=I.product_size
LEFT JOIN
    product_purchases AS P
ON
     I.product_purchase_item_id=P.product_purchase_item_id  
SET
    S.product_size_quantity=S.product_size_quantity+I.quantity
WHERE
    S.product_id=?
AND
    S.product_size=?

SELECTクエリで変換するとします

SELECT
 S.*
FROM
 product_stock AS S
LEFT JOIN
 product_purchase_item AS I
ON
 S.product_id=I.product_id AND S.product_size=I.product_size
LEFT  JOIN
 product_purchases AS P
ON
 I.product_purchase_item_id=P.product_purchase_item_id

クエリの戻り値

product_stock_id product_id product_size product_quantity

10 216 1 1
10 216 1 1
11 216 5 1   

しかし、私は必要です(DISTINCTキーワードだけでSELECTクエリでこれを行うことができます)

product_stock_id product_id product_size product_quantity

10 216 1 1
11 216 5 1   

しかし、UPDATEサブクエリで上記のデータ(UNIQUE VALUES)のように取得するにはどうすればよいですか? クエリDISTINCTでキーワードなどを使用することは可能ですか?UPDATE

4

2 に答える 2