Bonjour
Ceal fait pas mal de temps que je cherche la réponse sur le net mais comme
je ne suis pas très "calé" elle m'est sans doute passée au-dessus...
J'ai une base access des films que j'ai vus
Une table principale avec une fiche par film, un champ Index comme clé
primaire avec Numauto (et des autres champs : titre, année, résumé...)
Une table secondaire "Acteurs" avec un champ ID_film qui reprend la
référence du film et une ligne par acteur jouant dans le film. Les deux
tables sont liées avec une liaison un a plusieurs de manière à pouvoir
associer plusieurs acteurs à un film (la table acteurs contient donc une
ligne avec le N° d'identification du film et le nom de l'acteur jouant
dedans; si plusieurs acteurs jouents dans le même film, on a autant de
lignes que d'acteurs -avec leurs noms- et le même n° de film)
L'affichage se fait dans un formulaire principal pour le films et un sous
formulaire pour faire apparaître les noms des acteurs participant au film.
Pas de problème de ce côté
Mon problème est le suivant :
Je souhaite créer une requête qui m'affiche les fiches de films où jouent
ensemble les acteurs que je choisis
Ex: je veux les fiches des films où jouent DEPARDIEU et CLAVIER
Je pense qu'il faut porter l'interrogation sur la table des acteurs, mais
j'avoue qu'après je sèche...
Quelqu'un peut-il m'aider ? Merci d'avance
Philippe
--
Adresse anti-spam
Pour m'écrire utilisez l'adresse ci-dessous
http://cerbermail.com/?m351uq4P6W
[suite sur fr.comp.applications.sgbd, je ne lis pas les autres police non proportionelle indispensable à la lecture de cet article]
Le Mon, 28 Mar 2005 16:35:33 +0200, "=B-)=" a écrit :
Je souhaite créer une requête qui m'affiche les fiches de films où jouent ensemble les acteurs que je choisis Ex: je veux les fiches des films où jouent DEPARDIEU et CLAVIER Je pense qu'il faut porter l'interrogation sur la table des acteurs, mais j'avoue qu'après je sèche...
Le noeud du problème, ce n'est pas la liaison des tables mais l'imbrication des requêtes. Vous ne pouvez pas obtenir le résultat en une seule.
Il faut attaquer en deux requêtes sélection. La première avec la table Acteurs
Je l'appelle Requete. Et on l'ouvre dans une seconde requête :
Champ CodeFilm CodeActeur Table Requete Requete Opération Regroupement Compte Affichage Oui Non Sélection = 2
Le résultat est la liste des codes navets qui contiennent Depardieu et Clavier. On peut bien sur lier des tables dans cette seconde requête.
On peut prendre plus d'acteurs dans la première requête, il suffit d'ajuster la sélection du compte de code acteur en conséquence dans la deuxième requète. -- Patrick Texier
Tous les résultats de GP F1 librement téléchargeables http://www.genindre.org/perso/f1.htm
[suite sur fr.comp.applications.sgbd, je ne lis pas les autres
police non proportionelle indispensable à la lecture de cet article]
Le Mon, 28 Mar 2005 16:35:33 +0200, "=B-)=" <phlienardfaux@hotmail.com>
a écrit :
Je souhaite créer une requête qui m'affiche les fiches de films où jouent
ensemble les acteurs que je choisis
Ex: je veux les fiches des films où jouent DEPARDIEU et CLAVIER
Je pense qu'il faut porter l'interrogation sur la table des acteurs, mais
j'avoue qu'après je sèche...
Le noeud du problème, ce n'est pas la liaison des tables mais
l'imbrication des requêtes. Vous ne pouvez pas obtenir le résultat en
une seule.
Il faut attaquer en deux requêtes sélection. La première avec la table
Acteurs
Je l'appelle Requete.
Et on l'ouvre dans une seconde requête :
Champ CodeFilm CodeActeur
Table Requete Requete
Opération Regroupement Compte
Affichage Oui Non
Sélection = 2
Le résultat est la liste des codes navets qui contiennent Depardieu et
Clavier. On peut bien sur lier des tables dans cette seconde requête.
On peut prendre plus d'acteurs dans la première requête, il suffit
d'ajuster la sélection du compte de code acteur en conséquence dans la
deuxième requète.
--
Patrick Texier
Tous les résultats de GP F1 librement téléchargeables
http://www.genindre.org/perso/f1.htm
[suite sur fr.comp.applications.sgbd, je ne lis pas les autres police non proportionelle indispensable à la lecture de cet article]
Le Mon, 28 Mar 2005 16:35:33 +0200, "=B-)=" a écrit :
Je souhaite créer une requête qui m'affiche les fiches de films où jouent ensemble les acteurs que je choisis Ex: je veux les fiches des films où jouent DEPARDIEU et CLAVIER Je pense qu'il faut porter l'interrogation sur la table des acteurs, mais j'avoue qu'après je sèche...
Le noeud du problème, ce n'est pas la liaison des tables mais l'imbrication des requêtes. Vous ne pouvez pas obtenir le résultat en une seule.
Il faut attaquer en deux requêtes sélection. La première avec la table Acteurs
Je l'appelle Requete. Et on l'ouvre dans une seconde requête :
Champ CodeFilm CodeActeur Table Requete Requete Opération Regroupement Compte Affichage Oui Non Sélection = 2
Le résultat est la liste des codes navets qui contiennent Depardieu et Clavier. On peut bien sur lier des tables dans cette seconde requête.
On peut prendre plus d'acteurs dans la première requête, il suffit d'ajuster la sélection du compte de code acteur en conséquence dans la deuxième requète. -- Patrick Texier
Tous les résultats de GP F1 librement téléchargeables http://www.genindre.org/perso/f1.htm
Jacques Caron
Salut,
On Mon, 28 Mar 2005 16:35:33 +0200, =B-)= wrote:
Je souhaite créer une requête qui m'affiche les fiches de films où jouent ensemble les acteurs que je choisis Ex: je veux les fiches des films où jouent DEPARDIEU et CLAVIER
SELECT f.* FROM film f,acteur a,acteur b WHERE a.film=f.id AND a.acteur='DEPARDIEU' AND b.film=f.id AND b.acteur='CLAVIER';
A adapter en fonction des spécificités de ta base de données.
Au passage, il est probablement plus intelligent d'avoir une table des films, une table des acteurs, et une table des correspondances (ID film,ID acteur).
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/
Salut,
On Mon, 28 Mar 2005 16:35:33 +0200, =B-)= <phlienardfaux@hotmail.com>
wrote:
Je souhaite créer une requête qui m'affiche les fiches de films où jouent
ensemble les acteurs que je choisis
Ex: je veux les fiches des films où jouent DEPARDIEU et CLAVIER
SELECT f.* FROM film f,acteur a,acteur b WHERE a.film=f.id AND
a.acteur='DEPARDIEU' AND b.film=f.id AND b.acteur='CLAVIER';
A adapter en fonction des spécificités de ta base de données.
Au passage, il est probablement plus intelligent d'avoir une table des
films, une table des acteurs, et une table des correspondances (ID film,ID
acteur).
Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/
Je souhaite créer une requête qui m'affiche les fiches de films où jouent ensemble les acteurs que je choisis Ex: je veux les fiches des films où jouent DEPARDIEU et CLAVIER
SELECT f.* FROM film f,acteur a,acteur b WHERE a.film=f.id AND a.acteur='DEPARDIEU' AND b.film=f.id AND b.acteur='CLAVIER';
A adapter en fonction des spécificités de ta base de données.
Au passage, il est probablement plus intelligent d'avoir une table des films, une table des acteurs, et une table des correspondances (ID film,ID acteur).
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/