0

我对 MS Access 中的查询有疑问。我的数据库有烹饪食谱,我需要的是一个查询,该查询将返回所有可用食材制作的饭菜。

涉及的关系:

Ingredients( Ingredient_name, Quantity)

Contains( Meal_name, Ingredient, Ingredient_amount_needed)

Meals( Meal_name, Price)

(粗体为主键)

我知道如何制作一张包含膳食、配料、所需数量和可用数量的新桌子。我还可以添加一个条件(需要数量 < 可用数量)。但是,我需要过滤所有没有所有必要成分的食物,即使它只是一种。 例如,如果我有如下行:

Meal        Ingr.        Needed qty Available qty
Pizza       Ham           50         100
Pizza       Cheese        100        1

我的查询结果根本不应该显示 Pizza,因为没有足够的奶酪。

4

1 回答 1

1

如果您已按所示创建了新表,则以下查询应该可以工作:

select Distinct Meal from NewTab NT
where not exists 
   (select 1 from NewTab where NeededQty>AvailableQty 
    and NT.Meal = Meal);
于 2013-06-15T12:30:26.363 回答