希望相当容易查询,但今天下午我的大脑无法正常工作。我有以下表格:
tblCocktail
CockTailID CocktailName
1 Alexander
tblCocktailIngredient
CocktailID IngredientID Amount UnitID
1 1 3 1
1 2 3 1
1 3 3 1
tblIngredient
IngredientID IngredientName OnHandAmount OnHandUnitID
1 Cognac .75 2
2 Creme de Cacao .9 2
3 Cream .5 2
tblUnitConversion
FromUnitID ToUnitID Factor
1 2 100
我想做的是找到一份我可以制作的鸡尾酒清单,因为我手头有足够的所有原料。我有以下查询:
SELECT tblCocktail.CocktailName
FROM tblCocktail INNER JOIN (tblIngredient INNER JOIN (tblCocktailIngredient INNER JOIN tblUnitConversion ON tblCocktailIngredient.UnitID = tblUnitConversion.ToUnitID) ON (tblIngredient.IngredientID = tblCocktailIngredient.IngredientID) AND (tblIngredient.OnHandUnit = tblUnitConversion.FromUnitID)) ON tblCocktail.CocktailID = tblCocktailIngredient.CocktailID
WHERE ((([tblCocktailIngredient].[Amount]*[Factor])<[tblIngredient].[OnHandAmount]));
这将列出所有鸡尾酒和相关成分,其中 onHand 大于 Amount,但是,我只想列出所有成分都有足够数量的鸡尾酒。