0
我有以下表格,我想要计算卡路里和价格的总和。使用来自加入表的值计算
蛋糕:
| id | cake | description |
| 1 | chocolate | |
方药:
| id | cake_id | ingredient_id |
| 1 | 1 | 1 |
| 2 | 1 | 2 |
成分:
| id | ingredient | calories | buy_price | sell_price |
| 1 | Chocolate | 200 | 12.22 | 14.00 |
| 2 | Sugar | 300 | 10.50 | 11.50 |
所以预期的结果将是calories => 500
,buy_price => 22.72
和sell_price => 15.50
我已经尝试了以下查询,但没有奏效。
SELECT `c`.`id`, `cake`, `description`
FROM `cakes` `c`
JOIN `recipes` `r`
ON `c`.`id` = `r`.`cakes_id`
CROSS JOIN (
SELECT `calories`, `buy_price`, `sell_price`
FROM `ingredients` `i`
WHERE `i`.`id` = `r`.`ingredients_id`
) `ingredients`
它给了我一个错误,r`.`ingredients_id
是未知的,我可以理解,但我不知道如何解决它。但是,这仍然让我面临如何计算这些值的问题。
我希望有人能帮助我解决这个问题。
你需要在你的'SELECT'声明在'WHERE'声明的字段。 – Stuart
我猜你从未做过巧克力蛋糕。 – Strawberry
我估计卖出价格应该是25.50,而不是15.50 – Magoo