2010-07-05 3 views
0

Dans Access 2003, je reçois une "expression JOIN pas pris en charge" exception pour cela:expression_table pas pris en charge pour intérieur se joindre à la sous-requête

SELECT ID FROM Recipes INNER JOIN 
    (SELECT RecID, COUNT(RecID) AS NumIngredients 
    FROM Ingredients GROUP BY RecID) 
ON RecID = ID 

J'ai deux tables, recettes et ingrédients. Recipes.ID correspond à la clé étrangère Ingredients.RecID. Je veux obtenir le nombre de lignes dans les ingrédients qui correspondent à chaque ligne dans les recettes. Suggestions?

Répondre

2

Essayez sans se joindre à la sous-requête:

SELECT 
    r.ID AS RecID, 
    COUNT(i.ID) AS NumIngredients 
FROM 
    Recipes r 
    INNER JOIN Ingredients i ON i.RecID = r.ID 
GROUP BY 
    r.ID 

Est-ce que le travail?

0
SELECT R.ID, COUNT(I.ID) AS CountOfIngredientRecords 
FROM Recipes R INNER JOIN Ingredients I 
ON R.ID = I.RecID 
GROUP BY R.ID 
+1

COUNT (I. *) n'est pas valide dans Jet/ACE SQL. –

+0

@David: Merci pour votre commentaire. Je n'ai pas essayé cette requête dans Access et je vais le corriger maintenant. – shahkalpesh

Questions connexes