Sql 访问';不支持联接';左移连接

Sql 访问';不支持联接';左移连接,sql,ms-access,join,left-join,Sql,Ms Access,Join,Left Join,我在这里做了一些研究,我知道在Access中嵌套连接会导致问题 我认为这是第一个例子中的问题 SELECT Recipe_Classes.RecipeClassDescription, Recipes.RecipeTitle, Recipes.Preparation, Ingredients.IngredientName, Recipe_Ingredients.RecipeSeqNo, Recipe_Ingredients.Amount, Measurements.MeasurementDes

我在这里做了一些研究,我知道在Access中嵌套连接会导致问题

我认为这是第一个例子中的问题

SELECT 
Recipe_Classes.RecipeClassDescription,
Recipes.RecipeTitle,
Recipes.Preparation,
Ingredients.IngredientName,
Recipe_Ingredients.RecipeSeqNo,
Recipe_Ingredients.Amount,
Measurements.MeasurementDescription
FROM (((
Recipe_Classes
LEFT JOIN Recipes
ON Recipe_Classes.RecipeClassID = Recipes.RecipeClassID)
INNER JOIN Recipe_Ingredients
ON Recipes.RecipeID = Recipe_Ingredients.RecipeID)
INNER JOIN Ingredients
ON Ingredients.IngredientID = Recipe_Ingredients.IngredientID)
INNER JOIN Measurements
ON Measurements.MeasureAmountID = Recipe_Ingredients.MeasureAmountID
ORDER BY RecipeTitle, RecipeSeqNo;
在本例中,我尝试删除嵌套并创建了一个右连接

 SELECT 
    Recipe_Classes.RecipeClassDescription,
    Recipes.RecipeTitle,
    Recipes.Preparation,
    Ingredients.IngredientName,
    Recipe_Ingredients.RecipeSeqNo,
    Recipe_Ingredients.Amount,
    Measurements.MeasurementDescription
    FROM (((
    Ingredients
    INNER JOIN Recipe_Ingredients
    ON Ingredeints.IngredientID = Recipe_Ingredients.IngredientID)
    INNER JOIN Measurements
    ON Measurements.MeasureAmountID = Recipe_Ingredients.MeasureAmountID)
    INNER JOIN Recipes
    ON Recipes.RecipeID = Recipe_Ingredients.RecipeID)
    RIGHT JOIN Recipe_Classes
    ON Recipe_Classes.RecipeClassID = Recipes.RecipeClassID
    ORDER BY RecipeTitle, RecipeSeqNo;

有人能给我指出正确的方向吗?

问题可能是不需要的
左连接。请从
子句中尝试此

SELECT Recipe_Classes.RecipeClassDescription,
       Recipes.RecipeTitle,
       Recipes.Preparation,
       Ingredients.IngredientName,
       Recipe_Ingredients.RecipeSeqNo,
       Recipe_Ingredients.Amount,
       Measurements.MeasurementDescription
FROM (((Recipes LEFT JOIN
        Recipe_Classes
        ON Recipe_Classes.RecipeClassID = Recipes.RecipeClassID
       ) LEFT JOIN
       Recipe_Ingredients
       ON Recipes.RecipeID = Recipe_Ingredients.RecipeID
      ) LEFT JOIN
      Ingredients
      ON Ingredients.IngredientID = Recipe_Ingredients.IngredientID
     ) LEFT JOIN Measurements
     ON Measurements.MeasureAmountID = Recipe_Ingredients.MeasureAmountID
ORDER BY RecipeTitle, RecipeSeqNo;

>从“代码>左连接< /代码> s开始,通常所有剩余的连接也应该是代码>左联接< /代码> S.< /P> < P>因为您的主焦点表是ReaPixOffice组件,请考虑从<<代码>中的这个表开始,从开始,然后<代码>连接< /代码>其他父表,甚至嵌套食谱和ReiPipe类对:

当然,在没有数据的情况下,这是未经测试的。由于Access
JOIN的要求,如parnetheses,通常建议新用户使用MS Access的GUI查询设计构建复杂查询,然后根据需要修改生成的SQL。

请参阅
SELECT 
    c.RecipeClassDescription,
    r.RecipeTitle,
    r.Preparation,
    i.IngredientName,
    ri.RecipeSeqNo,
    ri.Amount,
    m.MeasurementDescription
FROM 
  ((Recipe_Ingredients ri    
    INNER JOIN (Recipes r 
                RIGHT JOIN Recipe_Classes c
                      ON c.RecipeClassID = r.RecipeClassID)
          ON r.RecipeID = ri.RecipeID)
    INNER JOIN Ingredients i
          ON i.IngredientID = ri.IngredientID)
    INNER JOIN Measurements m
          ON m.MeasureAmountID = ri.MeasureAmountID

ORDER BY r.RecipeTitle, ri.RecipeSeqNo;