0

次のような mysql クエリを生成する必要があります。

Update TRANSACTION SET points = 0 WHERE TransactionID NOT IN(SELECT TransactionID, COUNT(*) FROM trans_products GROUP BY TransactionID WHERE COUNT(*) > 1)

ポイントは、テーブル「trans_products」に一度存在する「トランザクション」テーブルのトランザクションを更新する必要があることです

どんな助けでも

4

1 に答える 1

0

試す:

UPDATE
    TRANSACTION
SET
    points = 0
WHERE
   TransactionID IN (
       SELECT 
           TransactionID
       FROM
           trans_products
       GROUP BY
           TransactionID
       HAVING
           COUNT(*) = 1
   )

編集: ProductID を追加する必要があるというコメントに従って、句のWHERE後にa を付けることはできません。HAVINGこれはあなたが必要とするものです:

UPDATE
    TRANSACTION
SET
    points = 0
WHERE
   TransactionID IN (
       SELECT 
           TransactionID
       FROM
           trans_products
       WHERE
           ProductID = '192'
       GROUP BY
           TransactionID
       HAVING
           COUNT(*) = 1
   )
于 2012-07-18T15:54:09.953 に答える