【发布时间】:2017-07-27 20:26:25
【问题描述】:
这是我的两张表sold_items 和categories。 :
已售商品:
分类:
sold_items 使用来自categories 表的id_Categories 作为外键。
我正在使用此命令尝试填充基于“idCategories”的项目的average_price - 所以是1或2。
我正在使用此命令计算 idCategories 分类为 2 的商品的平均价格:
UPDATE categories SET average_price = (SELECT AVG(price) FROM sold_items) WHERE idCategories='2'
此命令成功执行,没有错误,但不是计算 idCategories = 2 的两个项目的平均价格,而是计算所有产品价格的平均值并将 638.00 的值插入到 categories 表中,因此它看起来像这样:
正确计算的值为 999.50(即 1000+999/2)。我的 SQL 命令有什么问题?
提前致谢
【问题讨论】:
-
您需要在子查询中指定哪里 idCategories = 2 (SELECT AVG(price) FROM sold_items WHERE idCategories = 2)
标签: mysql sql database foreign-keys mysql-workbench