2012-07-18 48 views

回答

0

T RY:

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

编辑:每添加的ProductID需要你comment的,你不能有HAVING条款后WHERE。这是你需要的:

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

是的,这是我需要的,谢谢你;此外,在trans_products有产品ID(交易可以有几种产品),查询应包括刚才的ProductID = '192': – nour 2012-07-19 07:37:11

+0

在该查询的问题:PDATE 交易 SET 点= 0 WHERE 的TransactionID IN( 选择 的TransactionID FROM trans_products GROUP BY 的TransactionID HAVING COUNT(*)= 1 AND的ProductID = '192' ),在GROUP BY TransactionID的不是所有的产品都出现这样我就可以相应地过滤 – nour 2012-07-19 07:38:25