-1

我有两个名为salesrsales

我有这个 ff 表值sales

id | pcode | total | discount |
2  |  33   |  100  |   20     |
3  |  33   |  100  |   20     |

我有这个 ff 表值rsales

id | pcode | total | discount | sales_id |
4  |  33   |  100  |   20     |    1     |
5  |  33   |  100  |   20     |    2     |
6  |  33   |  100  |   20     |    3     |

我的问题是,当我更新表中的所有值时,如果等于sales,则表rsales必须更新。 因此,例如,如果我使用= 2 和 3 更新了表,则2 和 3 from也必须更新。 注意:只有 2 和 3,因为只有s 在表s 中找到。sales.idsales_id
salesidsales_idrsales
idsales id

到目前为止,我有这个 ff 代码来更新表rsales。但输出显示不是我的意思。它更新所有值。

mysql_query("UPDATE sales AS t1, rsales AS t2
    SET t1.total = '$total_discount',
    t2.total = '$total_discount',
    t2.discount = '$tot'
    WHERE t1.pcode = '$pcode'");
4

1 回答 1

0

您应该将表之间的公共列添加到 WHERE 类。

UPDATE sales AS t1, rsales AS t2
  SET
    t1.total = '$total_discount',
    t2.total = '$total_discount',
    t2.discount = '$tot'
WHERE
    t1.id = t2.sales_id AND
    t1.pcode = '$pcode'

注意:我没有测试过。

于 2013-08-31T18:37:04.947 回答