ACCESS - join special
darkkjarod
-
mishan Messages postés 38 Date d'inscription Statut Membre Dernière intervention -
mishan Messages postés 38 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai une question pour ACCESS.
J'ai deux table de donnée:
TABLE 1
Name Client Reference
A B steph
A B goffette
Table 2
Name Client Reference from table 1
A A Steph
L'astuce est que dans le join de la table 2, il ne me fasse aparaitre que la premiere reference trouvée (steph) et pas la deuxieme.
Comment faire?
merci
J'ai une question pour ACCESS.
J'ai deux table de donnée:
TABLE 1
Name Client Reference
A B steph
A B goffette
Table 2
Name Client Reference from table 1
A A Steph
L'astuce est que dans le join de la table 2, il ne me fasse aparaitre que la premiere reference trouvée (steph) et pas la deuxieme.
Comment faire?
merci
A voir également:
- ACCESS - join special
- Caractere special - Guide
- Dossier spécial - Guide
- Symbole special - Guide
- Ecriture special facebook - Guide
- Ecriture special instagram - Guide
8 réponses
Bonjour,
Si tu veux n'afficher que les enregistrements de la table 1 qui n'existe que dans la table 2, va dans les propriété de jointure dans ta requete puis sélectionne le 3eme option...
Je ne sais pas si ca va répondre a ta question.
Si tu veux n'afficher que les enregistrements de la table 1 qui n'existe que dans la table 2, va dans les propriété de jointure dans ta requete puis sélectionne le 3eme option...
Je ne sais pas si ca va répondre a ta question.
si je choisi l'option trois, il va me donner steph et goffette, alors que je ne souhaite avoir que steph.
je me trompe?
je me trompe?
La ca dépend quel table tu veux afficher :
Si tu veux afficher la table 2 alors il faut choisir la 2eme option
Si tu veux afficher la table 1 alors c'est la 3eme
Sinon tu a la possibilité de faire une requete avec une sous requete :
Quelle table tu veuxc afficher, je suppose que c'est la table 2 et sur quelle champ fais tu la jointure ?
Si tu veux afficher la table 2 alors il faut choisir la 2eme option
Si tu veux afficher la table 1 alors c'est la 3eme
Sinon tu a la possibilité de faire une requete avec une sous requete :
Quelle table tu veuxc afficher, je suppose que c'est la table 2 et sur quelle champ fais tu la jointure ?
je fais la jointure si name + client.
Je veux voir la table2.
Et j'aimerais que si il trouve deux equivalenec (name + client) dans la table 1, il ne me donne que un resultat (steph).
Est ce plus clair?
Je veux voir la table2.
Et j'aimerais que si il trouve deux equivalenec (name + client) dans la table 1, il ne me donne que un resultat (steph).
Est ce plus clair?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ben si tu fais une jointure sur Name+Client, une jointure normale devrait suffire non (1ere option) parce que ta table2 ne va afficher que les enregistrements qui existe dans la table1.
Dans le cas d'un doublon, il suffit de faire un regroupement...
tu as déja essayé ca :
SELECT Table2.name, Table2.client, Table2.ref
FROM Table1 INNER JOIN Table2 ON (Table1.client = Table2.client) AND (Table1.name= Table2.name)
GROUP BY Table2.name, Table2.client, Table2.ref;
En plus, dans l'exemple que tu fournis, tu n'obtient logiquement aucun enregistrements affiché !!
Dans le cas d'un doublon, il suffit de faire un regroupement...
tu as déja essayé ca :
SELECT Table2.name, Table2.client, Table2.ref
FROM Table1 INNER JOIN Table2 ON (Table1.client = Table2.client) AND (Table1.name= Table2.name)
GROUP BY Table2.name, Table2.client, Table2.ref;
En plus, dans l'exemple que tu fournis, tu n'obtient logiquement aucun enregistrements affiché !!
ou desole, je me suis trompe dans mon exemple, la deuxieme valeur doit etre egal à B.
j essaye. Le truc c est que je fais un join sur une 20aine de colone et qu il me dit que mes join sont ambigu..
j essaye. Le truc c est que je fais un join sur une 20aine de colone et qu il me dit que mes join sont ambigu..
je viens de le refaire et cela ne fonctionn pas. Mais je me suis probablement mal explique.
je recommence:
Table1
Contrat date Reference
A mai steph
A mai roland
Table 2
Contrat date
A mai
Queries 1
Resultat attendu:
Contratfrom table 2 datefromtable2 referencefromtable1
A mai steph
Resultat obtenu avec le join:
Contratfrom table 2 datefromtable2 referencefromtable1
A mai steph
A mai roland.
Alors que je n'ai pas besoin de la deuxieme ligne, je ne souhaite que la premiere trouvee dans la table 1.
Est ce possible? je ne trouve vraiment pas.
Merci pour votre aide.
Stephane
je recommence:
Table1
Contrat date Reference
A mai steph
A mai roland
Table 2
Contrat date
A mai
Queries 1
Resultat attendu:
Contratfrom table 2 datefromtable2 referencefromtable1
A mai steph
Resultat obtenu avec le join:
Contratfrom table 2 datefromtable2 referencefromtable1
A mai steph
A mai roland.
Alors que je n'ai pas besoin de la deuxieme ligne, je ne souhaite que la premiere trouvee dans la table 1.
Est ce possible? je ne trouve vraiment pas.
Merci pour votre aide.
Stephane
Et si tu au lieu de faire un regroupement, tu ne prenais que le premier enregistrement ??
Genre :
SELECT First(Table2.nom) AS PremierDenom, First(Table2.Date) AS PremierDeDate, First(Table1.ref) AS PremierDeref
FROM Table1 INNER JOIN Table2 ON (Table1.Date = Table2.Date) AND (Table1.nom = Table2.nom);
Ca affiche :
T2.Contrat T2.Date T1.Ref
A Mai Steph
Le problème c'est que si tu as une 3eme ligne (par exemple A Mai TOTO), cela affichera toujour A Mai Steph.
Je ne sais si ca répond à ta question....
Genre :
SELECT First(Table2.nom) AS PremierDenom, First(Table2.Date) AS PremierDeDate, First(Table1.ref) AS PremierDeref
FROM Table1 INNER JOIN Table2 ON (Table1.Date = Table2.Date) AND (Table1.nom = Table2.nom);
Ca affiche :
T2.Contrat T2.Date T1.Ref
A Mai Steph
Le problème c'est que si tu as une 3eme ligne (par exemple A Mai TOTO), cela affichera toujour A Mai Steph.
Je ne sais si ca répond à ta question....