27-04-2010, 01:37 PM
il ne va pas pouvoir le faire en une requète, car à mon avis il veut un truc comme ça :
id / info 1 / info 2 / Info 3 /
- ingrédient : quantité
- ingrédient : quantité
voilà un exemple que j'ai déjà fait pour un projet, on avait des randonnées qui avaient des informations et qui traversaient plusieurs sommets, on voulait lister chaque randonnée et ses sommets, un peu comme là tu veux lister chaque recette et y indiquer chacun de ses ingrédients :
id / info 1 / info 2 / Info 3 /
- ingrédient : quantité
- ingrédient : quantité
voilà un exemple que j'ai déjà fait pour un projet, on avait des randonnées qui avaient des informations et qui traversaient plusieurs sommets, on voulait lister chaque randonnée et ses sommets, un peu comme là tu veux lister chaque recette et y indiquer chacun de ses ingrédients :
Code :
declare @code_randonnee int
declare @nom_randonnee char(20)
declare @code_sommet int
declare @nom_sommet char(20)
declare cursor1 cursor for
select distinct code_randonnee, nom_randonnee
from randonnee, traverser, sommet
where code_randonnee = randonnee
and sommet = code_sommet
order by nom_randonnee
open cursor1
fetch cursor1 into @code_randonnee, @nom_randonnee
while (@@fetch_status = 0)
begin
print '- La randonnée ' + @nom_randonnee + ' passe par le(s) sommet(s) :'
declare cursor2 cursor for
select code_sommet, nom_sommet
from sommet, traverser
where code_sommet = sommet
and randonnee = @code_randonnee
order by position
open cursor2
fetch cursor2 into @code_sommet, @nom_sommet
while (@@fetch_status = 0)
begin
print ' - ' + @nom_sommet
fetch cursor2 into @code_sommet, @nom_sommet
end
close cursor2
deallocate cursor2
fetch cursor1 into @code_randonnee, @nom_randonnee
end
close cursor1
deallocate cursor1