Syntax Error JOIN (sql/access)
Résolu/Fermé
sketchou
-
14 juin 2011 à 13:11
Deathmann Messages postés 222 Date d'inscription jeudi 9 juin 2011 Statut Membre Dernière intervention 11 décembre 2015 - 14 juin 2011 à 16:04
Deathmann Messages postés 222 Date d'inscription jeudi 9 juin 2011 Statut Membre Dernière intervention 11 décembre 2015 - 14 juin 2011 à 16:04
8 réponses
Deathmann
Messages postés
222
Date d'inscription
jeudi 9 juin 2011
Statut
Membre
Dernière intervention
11 décembre 2015
59
14 juin 2011 à 13:20
14 juin 2011 à 13:20
Bonjour,
Dans ton FROM, met la table métier.
Cordialement.
Dans ton FROM, met la table métier.
Cordialement.
enfaite si j'enlève candidat et je mets à la place la table Metier, j'ai toujours la même erreur
Merci beaucoup de me répondre Deathmann
Merci beaucoup de me répondre Deathmann
Deathmann
Messages postés
222
Date d'inscription
jeudi 9 juin 2011
Statut
Membre
Dernière intervention
11 décembre 2015
59
14 juin 2011 à 14:05
14 juin 2011 à 14:05
Pas de soucis.
Non, il faut que tu es les deux tables, pour faire une jinture, il faut déclarer les deux tables avec lesquelles tu vas travailler, dans ton cas, il faut mettre :
SELECT nom
FROM candidat, metier
INNER JOIN metier ON metier.codemetier=candidat.codemetier
AND libellé.metier="comptable";
Pour ma part, faisant énormément de requêtes SQL dans mon cursus scolaire, ma syntaxe serait celle ci :
SELECT nom
FROM candidat, metier
WHERE metier.codemetier=candidat.codemetier
AND libellé.metier="comptable";
Et, personnellement, je ne mettrai pas d'accent, ça peut provoquer des erreurs.
Cordialement.
Non, il faut que tu es les deux tables, pour faire une jinture, il faut déclarer les deux tables avec lesquelles tu vas travailler, dans ton cas, il faut mettre :
SELECT nom
FROM candidat, metier
INNER JOIN metier ON metier.codemetier=candidat.codemetier
AND libellé.metier="comptable";
Pour ma part, faisant énormément de requêtes SQL dans mon cursus scolaire, ma syntaxe serait celle ci :
SELECT nom
FROM candidat, metier
WHERE metier.codemetier=candidat.codemetier
AND libellé.metier="comptable";
Et, personnellement, je ne mettrai pas d'accent, ça peut provoquer des erreurs.
Cordialement.
Salut,
Merci encore de m'avoir répondu
J'ai toujours une erreur : Erreur de syntaxe dans une expression, sachant que j'ai les deux tables :
CANDIDAT(#codecand,nom,prénom,adresse,codemetier)
METIER(#codemetier,libellé)
J'ai pris ton code sql, mais ça ne marche pas, merci encore
Merci encore de m'avoir répondu
J'ai toujours une erreur : Erreur de syntaxe dans une expression, sachant que j'ai les deux tables :
CANDIDAT(#codecand,nom,prénom,adresse,codemetier)
METIER(#codemetier,libellé)
J'ai pris ton code sql, mais ça ne marche pas, merci encore
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Deathmann
Messages postés
222
Date d'inscription
jeudi 9 juin 2011
Statut
Membre
Dernière intervention
11 décembre 2015
59
14 juin 2011 à 14:33
14 juin 2011 à 14:33
Select nom
From candidat
Where codemetier = (Select codemetier
From metier
Where libellé="comptable");
Essayes ça, si c'est un problème de jointure, en espérant que ça marchera.
From candidat
Where codemetier = (Select codemetier
From metier
Where libellé="comptable");
Essayes ça, si c'est un problème de jointure, en espérant que ça marchera.
erreur : cette sous requête pour retourner au plus un enregistrement
:-(
:-(
Deathmann
Messages postés
222
Date d'inscription
jeudi 9 juin 2011
Statut
Membre
Dernière intervention
11 décembre 2015
59
14 juin 2011 à 14:51
14 juin 2011 à 14:51
SELECT nom
FROM candidat INNER JOIN metier
ON metier.[codemetier]=candidat.[codemetier]
AND libellé.metier="comptable";
Essayes celui-ci, tu travailles sous quel SGBDR ?
FROM candidat INNER JOIN metier
ON metier.[codemetier]=candidat.[codemetier]
AND libellé.metier="comptable";
Essayes celui-ci, tu travailles sous quel SGBDR ?
Deathmann
Messages postés
222
Date d'inscription
jeudi 9 juin 2011
Statut
Membre
Dernière intervention
11 décembre 2015
59
14 juin 2011 à 15:00
14 juin 2011 à 15:00
Aaaah, je crois avoir compris, pourrais tu me donner le mrd de ta base de données s'il te plait, en MP si tu ne tiens pas à le dévoiler sur le forum. Je pense avoir compris
complexity01
Messages postés
15
Date d'inscription
mardi 14 juin 2011
Statut
Membre
Dernière intervention
14 juin 2011
14 juin 2011 à 15:09
14 juin 2011 à 15:09
Je t'es envoyé un message, mrd ?
Deathmann
Messages postés
222
Date d'inscription
jeudi 9 juin 2011
Statut
Membre
Dernière intervention
11 décembre 2015
59
14 juin 2011 à 15:20
14 juin 2011 à 15:20
-> MP ^^
Deathmann
Messages postés
222
Date d'inscription
jeudi 9 juin 2011
Statut
Membre
Dernière intervention
11 décembre 2015
59
14 juin 2011 à 15:31
14 juin 2011 à 15:31
Au vu de tes tables et de ce que tu as écris en MP, je vois ton problème, tu n'as fait aucune relation entre les tables, cela est pourtant impératif, il faut une intégrité référentielle entres les tables. Pour qu'une clé étrangère dépendent d'une autre il faut d'abord savoir de quoi elle dépend.
Va sur ce site : https://www.developpez.net/forums/d373713/logiciels/microsoft-office/access/modelisation/access-relation-tables-cave-vin/
Tu vois toutes les tables reliées entres elles par un lien '1-à plusieurs'.
Pour ce faire, c'est dans la barre d'outils en haut, c'est un symbole avec 3 tables reliées entres elles. quand tu l'auras trouvé et rajouter tes tables dedans, préviens moi.
Va sur ce site : https://www.developpez.net/forums/d373713/logiciels/microsoft-office/access/modelisation/access-relation-tables-cave-vin/
Tu vois toutes les tables reliées entres elles par un lien '1-à plusieurs'.
Pour ce faire, c'est dans la barre d'outils en haut, c'est un symbole avec 3 tables reliées entres elles. quand tu l'auras trouvé et rajouter tes tables dedans, préviens moi.
complexity01
Messages postés
15
Date d'inscription
mardi 14 juin 2011
Statut
Membre
Dernière intervention
14 juin 2011
14 juin 2011 à 15:33
14 juin 2011 à 15:33
Je sais merci, c'est pour ça que je passe par SQL, c'est la même chose
Au niveau intéregrité référentielle, je peux pas lié les deux tables par 1-infinie entre les deux champs Codemetier de chaque tables.
Au niveau intéregrité référentielle, je peux pas lié les deux tables par 1-infinie entre les deux champs Codemetier de chaque tables.
Deathmann
Messages postés
222
Date d'inscription
jeudi 9 juin 2011
Statut
Membre
Dernière intervention
11 décembre 2015
59
14 juin 2011 à 15:35
14 juin 2011 à 15:35
Pourquoi tu ne peux pas ?
complexity01
Messages postés
15
Date d'inscription
mardi 14 juin 2011
Statut
Membre
Dernière intervention
14 juin 2011
14 juin 2011 à 15:36
14 juin 2011 à 15:36
il me dit que la relation doit inclure le même nombre de champs avec le même type de données :(
Deathmann
Messages postés
222
Date d'inscription
jeudi 9 juin 2011
Statut
Membre
Dernière intervention
11 décembre 2015
59
14 juin 2011 à 15:36
14 juin 2011 à 15:36
tes champs codemetier sont de quel type, il faut absolument qu'ils aient le même
Deathmann
Messages postés
222
Date d'inscription
jeudi 9 juin 2011
Statut
Membre
Dernière intervention
11 décembre 2015
59
14 juin 2011 à 15:37
14 juin 2011 à 15:37
As tu d'abord créer ta table metier ou candidat ?
14 juin 2011 à 13:22