SQL查询表筛选

SQL查询表筛选,sql,ms-access,Sql,Ms Access,我有一个关于MS Access中的查询的问题。我的数据库中有烹饪食谱,我需要的是一个查询,该查询将返回所有可用配料制作的饭菜。 涉及的关系: 成分(成分名称,数量) 包含(餐名,配料,配料所需数量) 膳食(膳食名称,价格) (粗体是主键) 我知道如何制作一张新的桌子,包括餐食、配料、所需数量和可用数量。我还可以添加一个条件(所需数量

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

涉及的关系:

成分
成分名称
数量

包含
餐名
配料
配料所需数量

膳食
膳食名称
价格

(粗体是主键)

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

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

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

如果您已经创建了如图所示的新表,那么以下查询应该可以工作:

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

你想问什么?我想问这样一个查询的sql代码是什么。好的,试试我的答案。。!!请让我知道它是否符合您的目的?出于某种原因,这列出了一个空表,即使它应该工作。我可能弄错了,我会再检查一遍。不过,我理解你试图做的事情,你给了我这个想法,所以它最终应该能工作,非常感谢。好的,我已经用样本数据交叉检查了这部分,它工作得很好。你所需要做的就是创建“派生表/临时表”,并将其替换为NewTab。。!!