SQL查询表过滤

时间:2013-06-15 11:55:06

标签: sql ms-access

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

涉及的关系:

Ingredients Ingredient_name Quantity

Contains Meal_name Ingredient Ingredient_amount_needed

Meals Meal_name Price

(Bolded是主键)

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

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

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

1 个答案:

答案 0 :(得分:1)

如果您已经显示了新表格,则以下查询应该有效:

select Distinct Meal from NewTab NT
where not exists 
   (select 1 from NewTab where NeededQty>AvailableQty 
    and NT.Meal = Meal);