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]