J'ai une base de données de recettes. Mais petit besoin de regarder seulement 3 tables:Sélectionner les données correctes lorsque la base de données comporte une table PK complexe
[Recipe]
ID (PK)
Name
<...>
[RecipeIngredient]
IDRecipe
IDIngred
Quantity
(IDRecipe, IDIngred) - PK
[Ingredient]
ID (PK)
Name
Units
Je veux obtenir une table pour un certain nom de la recette qui ressemble à
[Name] [Quantity] [Units]
ingr1 50 gr.
ingr2 100 ml.
ingr3 1 kg.
Ma requête est
SELECT [Name], [Quantity], [Units] FROM [Ingredient], [RecipeIngredient]
WHERE [ID] = ANY
(SELECT [IDIngred] FROM [RecipeIngredient] WHERE [IDRecipe] =
(SELECT [ID] FROM [Recipe] WHERE [Name] = 'RecipeName1'));
Mais ce Je reçois est
[Name] [Quantity] [Units]
ingr1 50 gr.
ingr1 100 ml.
ingr1 1 kg.
ingr2 50 gr.
ingr2 100 ml.
ingr2 1 kg.
ingr3 50 gr.
ingr3 100 ml.
ingr3 1 kg.
Comment puis-je résoudre ce problème?
Indice: 'JOIN'. Et * jamais * utiliser des virgules dans la clause 'FROM'. –