Pour créer une base de données, à un moment donné, j'ai la chose suivante :
Un film est codé sur plusieurs pistes sonores et pour une piste sonore déterminée, cette dernière peut être présente sur plusieurs films.
Bref, si l'entité/association de cette relation est :
film --(1,n)----encoder-----(1,n)-- piste_sonore
On déduit qu'il faut 3 tables :
Film(NoFilm*, Titre)
Piste_sonore(Intitule*)
Encoder(NoFilm**, Intitule**)
où * est la clef primaire et ** les clefs étrangères.
Je souhaite écrire la requête sql suivante :
Quels sont les films qui ont pour piste sonore "DTS" et "Stéréophonie" ?
Alors j'ai écrit ceci :
Et cela n'aboutit pas ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select Titre from (select f.Titre, p.Intitule from film as f, encoder as e, piste_sonore as p where f.NoFilm = e.NoFilm and e.Intitule = p.Intitule and p.Intitule = 'DTS') as sb where sb.Intitule = 'Stéréophonie' group by Titre order by 1 desc;
Une idée ?
Merci par avance.
Partager