kiminox
Messages postés33Date d'inscriptionjeudi 27 septembre 2001StatutMembreDernière intervention 4 octobre 2003
-
1 oct. 2003 à 00:05
kiminox
Messages postés33Date d'inscriptionjeudi 27 septembre 2001StatutMembreDernière intervention 4 octobre 2003
-
1 oct. 2003 à 15:25
Bonjour,
Voilà j'ai un pb avec une requete SQL sous ACCESS2000.
J'ai 3 tables : personne, ville, statut et personne_statut (qui sert pour faire une relation N-N avec les tables Personne - Statut).
Donc, je veux récupérer les Personne en relation avec Ville et Statut :
kiminox
Messages postés33Date d'inscriptionjeudi 27 septembre 2001StatutMembreDernière intervention 4 octobre 2003 1 oct. 2003 à 11:40
merci cela a l'air de fonctionner mais peux tu me dire pourquoi la requete entière ne fonctionne pas?
SELECT personne.personne_id
, personne.personne_civilite_id
, personne.personne_nom
, personne.personne_prenom
, personne.personne_adresse1
, personne.personne_adresse2
, personne.personne_ville_id
, personne.personne_telephone
, personne.personne_fax
, personne.personne_mail
, personne.personne_portable
, personne.personne_commentaire
FROM (
personne INNER JOIN civilite ON personne.personne_civilite_id=civilite.civilite_id
INNER JOIN ville ON personne.personne_ville_id=ville.ville_id
INNER JOIN personne_statut ON personne.personne_id=personne_statut.personne_id
INNER JOIN statut ON personne_statut.statut_id=statut.statut_id
INNER JOIN personne_fonction ON personne.personne_id=personne_fonction.personne_id
INNER JOIN fonction ON personne_fonction.fonction_id=fonction.fonction_id
INNER JOIN personne_artiste ON personne.personne_id=personne_artiste.personne_id
INNER JOIN artiste ON personne_artiste.artiste_id=artiste.artiste_id
)
WHERE (
personne.personne_nom LIKE '%%'
AND civilite.civilite_nom LIKE '%%'
AND ville.ville_nom LIKE '%%'
AND statut.statut_nom LIKE '%%'
AND fonction.fonction_nom LIKE '%%'
AND artiste.artiste_nom LIKE '%%'
)
ORDER BY personne_nom
cs_PhilippeE
Messages postés437Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention10 août 20102 1 oct. 2003 à 11:46
Le coup des parenthèse ça lui permet de relier les tables de façon correcte pour la jointure, ce qu'il n'arrive pas à faire avec toutes les jointures à la suite.
Par défaut, il essaye toujours de faire une jointure entre la table précedent le INNER JOIN et celle qui suit.
cs_PhilippeE
Messages postés437Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention10 août 20102 1 oct. 2003 à 14:37
T'as essayé de mettre les parenthèses comme lui ?
Je garantis pas la syntaxe à 100%, c'est une retouche manuelle en live.
FROM ((((((( personne INNER JOIN civilite ON personne.personne_civilite_id=civilite.civilite_id )
INNER JOIN ville ON personne.personne_ville_id=ville.ville_id )
INNER JOIN personne_statut ON personne.personne_id=personne_statut.personne_id )
INNER JOIN statut ON personne_statut.statut_id=statut.statut_id )
INNER JOIN personne_fonction ON personne.personne_id=personne_fonction.personne_id )
INNER JOIN fonction ON personne_fonction.fonction_id=fonction.fonction_id )
INNER JOIN personne_artiste ON personne.personne_id=personne_artiste.personne_id )
INNER JOIN artiste ON personne_artiste.artiste_id=artiste.artiste_id
((((((( ( personne INNER JOIN civilite ON personne.personne_civilite_id=civilite.civilite_id )
INNER JOIN ville ON personne.personne_ville_id=ville.ville_id )
INNER JOIN personne_statut ON personne.personne_id=personne_statut.personne_id )
INNER JOIN statut ON personne_statut.statut_id=statut.statut_id )
INNER JOIN personne_fonction ON personne.personne_id=personne_fonction.personne_id )
INNER JOIN fonction ON personne_fonction.fonction_id=fonction.fonction_id )
INNER JOIN personne_artiste ON personne.personne_id=personne_artiste.personne_id )
INNER JOIN artiste ON personne_artiste.artiste_id=artiste.artiste_id)
WHERE ( ((civilite.civilite_nom) LIKE '%%' )
AND ((ville.ville_nom) LIKE '%%' )
AND ((statut.statut_nom) LIKE '%%' )
AND ((fonction.fonction_nom) LIKE '%%' )
AND ((artiste.artiste_nom) LIKE '%%' )
AND ((personne.personne_nom) LIKE '%%') )
ORDER BY personne_nom