begin process at 2012 02 15 11:08:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Bases de données

 > 

Pb requete SQL avec INNER JOIN avec ACCESS2000


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb requete SQL avec INNER JOIN avec ACCESS2000

mercredi 1 octobre 2003 à 00:05:23 | Pb requete SQL avec INNER JOIN avec ACCESS2000

kiminox

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 :

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 ville ON ville.ville_id=personne.personne_ville_id
AND ville.ville_nom LIKE '%rennes%'

INNER JOIN personne_statut ON personne_statut.personne_id=personne.personne_id

INNER JOIN statut ON statut.statut_id=personne_statut.statut_id
AND statut.statut_nom LIKE '%Bénévole%'

WHERE
personne.personne_nom like '%st%'
ORDER BY personne_nom;


avec le requeteur de ACCESS2000, il me génère une erreur :
Erreur de syntaxe (opérateur absent) dans l'expression ''.

Et puis j'ai une partie de la requete qui est surlignée (celle qui est en gras dans la requete)

Avez vous une idée?

Merci
Kim
mercredi 1 octobre 2003 à 10:48:28 | Re : Pb requete SQL avec INNER JOIN avec ACCESS2000

PhilippeE


Essaye ça

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, statut.statut_nom, ville.ville_nom

FROM ((personne 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 ville ON personne.personne_ville_id = ville.ville_id

WHERE (((personne.personne_nom) Like '%st%') AND ((statut.statut_nom) Like '%Bénévole%') AND ((ville.ville_nom) Like '%rennes%'))

ORDER BY personne.personne_nom;
mercredi 1 octobre 2003 à 11:40:27 | Re : Pb requete SQL avec INNER JOIN avec ACCESS2000

kiminox


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

Ou ai je fait une erreur?

Merci

Kim
mercredi 1 octobre 2003 à 11:46:11 | Re : Pb requete SQL avec INNER JOIN avec ACCESS2000

PhilippeE


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.
mercredi 1 octobre 2003 à 14:21:51 | Re : Pb requete SQL avec INNER JOIN avec ACCESS2000
mercredi 1 octobre 2003 à 14:37:31 | Re : Pb requete SQL avec INNER JOIN avec ACCESS2000

PhilippeE

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
mercredi 1 octobre 2003 à 15:25:14 | Re : Pb requete SQL avec INNER JOIN avec ACCESS2000

kiminox

la requete ne fait plus d'erreur mais par contre ne fait vraiment ce que je veux...

En tout cas voici la syntaxe sans erreur :

SELECT personne.personne_id
, personne.personne_civilite_id
, personne.personne_nom
, personne.personne_prenom
, personne.personne_adresse1
, personne.personne_adresse2
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 ( ((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

Kim


Cette discussion est classée dans : requete, id, statut, ville, inner


Répondre à ce message

Sujets en rapport avec ce message

requete SQL [ par aptech ] !!!Super Urgent sSQL = "SELECT * FROM tickets RIGHT JOIN rendez_vous ON tickets.id_rdv = rendez_vous.id_rdv & _ RIGHT JOIN clients ON rendez_ Erreur dans une requete sous VBA Access [ par lancelolo ] bon, avant d'envoyer ce message j'ai chercherdans tout le site en vain, j'espere que vous pourrez m'aider. Voila mon pb :J'ai un formulaire avec un ch combinaison de requete [ par glopglop ] salut !!G a faire des requete sur une base de donnéeRslog1.open "select ID_TypVac FROM TypeVac...RsLog2.open "select ID_Cren,h_rdv,h_pas FROM Creneau [SQL] requete de mise à jour [ par Dinbougre ] voilà ma table: PARAMETRE(obj_id, type, val1)g certaines lignes ki ont donc un obj_id et plusieurs ki n'en ont pasje veux prendre le maximum des obj Combo et index [ par guillaume79 ] Bonjour, je fais une requete dans une base de donnée. je selectionne un nom et un id.Dans une combo j'affiche le nom. Mon problème est que lorsque je pb requete mysql [ par Tomcube ] Salut à tous,J'ai un problème pour créer une requête mysql.J'ai une table "vente" avec des champs "id_vente, id_vendeur, id_objet, prix, qtt". Là deda Question sur une requete [ par lea75 ] J'aimerais insérer un nouvel enregistrement et jpour créer un nouvel idenregistrement je fais appel à une séquence que j'ai créé en postgresql.J'ai mi Préselection des élements d'une ListBox [ par rampa99 ] Bonjour à tous, Je débute en Access et suis confronté au problème suivant: Je suis dans un formulaire permettant de mettre à jour les enregistrements access et requete [ par paloxicide ] je cherche dans la meme requete récuperer le max(id) d'une table ainsi que dans cette meme requete l'attridut(velo) qui correspond au max(id) pas d'erreurs mais marche pas [ par minipod ] Private Sub Btn_supprimer_Click() Dim requete As QueryDef Dim strSQL As String Dim i As Integer Dim id As Integer i = Liste_garage.List


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,162 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales