Hi Brian,

Try this.

SELECT  SUM(mi.calories) FROM  Meal_Items as mi, People as P, Meals as
m WHERE p.Person_ID = '5' AND p.Person_ID=m.Person_ID AND m.Date =
'2009-09-04' AND m.Meal_ID = mi.Meal_id GROUP BY p.Person_ID


Hi Gerald: This part is throwing me off " ON People.Name=Meals.Name" .
But I do belief using Join isn't a bad alternative.

On Fri, Sep 5, 2008 at 4:36 PM, Gerald L. Clark
<[EMAIL PROTECTED]> wrote:
> Brian Dunning wrote:
>>
>> How do I query "How many calories did Brian eat on 2009-09-04"?
>>
>> Table:People
>> +-----------+-------+
>> + Person_ID + Name  |
>> +-----------+-------+
>> | 5         | Brian |
>> +-----------+-------+
>>
>> Table:Meals
>> +---------+-----------+-----------+------------+
>> | Meal_ID | Person_ID | Meal_Name | Date       |
>> +---------+-----------+-----------+------------+
>> | 3       | 5         | Breakfast | 2009-09-04 |
>> | 4       | 5         | Lunch     | 2009-09-04 |
>> +---------+-----------+-----------+------------+
>>
>> Table:Meal_Items
>> +-------------+---------+-----------+----------+
>> | MealItem_ID | Meal_ID | Item_Name | Calories |
>> +-------------+---------+-----------+----------+
>> | 16          | 3       | Banana    | 100      |
>> | 17          | 3       | Milk      | 150      |
>> | 18          | 4       | Cookie    | 200      |
>> +-------------+---------+-----------+----------+
>>
>>
>>
> SELECT sum(calories) from People
> INNER JOIN Meals ON People.Name=Meals.Name
> INNER JOIN Meal_Items on Meals.Meal_ID=Meal_Items.Meal_ID
> WHERE Name='Brian' AND Date='2009-09-04';
>
> --
> Gerald L. Clark
> Sr. V.P. Development
> Supplier Systems Corporation
> Unix  since 1982
> Linux since 1992
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]
>
>

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to