私は不可能と思われるクエリを作成する必要があるこのアプリケーションで作業しています。Mysql列に基づいてSUMを選択する方法
しかし、私は認める必要がありますが、私は質問に少し錆びています!
とにかく、これらの3つのテーブルがあると仮定することができます:
食事
id name
-- ----
1 meal1
食品
id name kcal kj
-- ---- ---- --
1 food1 200 200
2 food2 300 300
Meal_food
私が選択しようとしているのは、この食事に属するkcal、kj(および他のもの)を含む食事です。の割合です。
私が試したように、私はすでに試したが、私はあなたに私が得ることができる最も近い表示できます
SELECT
m.*,
SUM(f.kj), -- <- should be based on the percentage
SUM(f.kcal) -- <- should be based on the percentage
FROM
meal m,
meal_food mf,
food_nl f
WHERE
m.id = mf.meal_id
AND
f.id = mf.food_id
GROUP BY
m.id;
をコメントが言うように:不足している割合に基づいています。 内部結合、外部結合、クロス結合、サブクリーを試したので、可能かどうか疑問に思います。
私が得ようとしていることに関する私の質問は、うまくいけば、私は再びそれを試して幸せではないかと思います!出力として例えば
更新 は:明確にするため
id name kcal kj
-- ---- ---- ---
1 meal1 240 240
:== 60%キロカロリーのfood1 + 40
- 総食事のカロリー: meal1 2フード(成分)から成り%キロカロリーfood2
- 総食事KJ == 60%KJのfood1 + 40%KJのfood2
私はあなたが「割合に基づいて、」何を意味するかわかりません。いくつかのサンプル出力を表示できますか? – shmosel
@shmosel更新します –