Dédoublonner 2 tables, puis 3

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Dédoublonner 2 tables, puis 3

par pascaltje » 18 oct. 2005, 18:46

en SQL ça donne ça, à assaisonner à la sauce access:

Code : Tout sélectionner

SELECT table1.champ1 FROM table1 LEFT JOIN table2 ON table2.champ1 = table1.champ1 WHERE table2.champ1 IS NULL UNION SELECT table2.champ1 FROM table2 LEFT JOIN table1 ON table1.champ1 = table2.champ1 WHERE table1.champ1 IS NULL
(=on prend tout dans table 1 sauf ceux dans table 2 + idem en inversant 1 et 2)

et si tu veux le faire avec une 3e table, tu généralises :)

A+

Pascal

par pjl » 18 oct. 2005, 16:43

un tuto explicatif lié à Access : http://cerig.efpg.inpg.fr/tutoriel/base ... chap20.htm

par Invité » 18 oct. 2005, 16:40

ok pjl mais je ne sais pas faire de jointure externe :oops:

par pjl » 18 oct. 2005, 15:37

1. c'est une jointure externe qu'il te faut puisque tu veux des élèments qui sont dans une table et pas dans l'autre
2. tu veux une différence et tu mets une condition d'égalité.

par mere-teresa » 18 oct. 2005, 15:12

Access ? Connais pas.
Va par là : http://access.developpez.com/cours/

par gdrara » 18 oct. 2005, 15:07

Je suis sous Access. Pas trop le choix hélas.
Je souhaite la liste des records de la table 1 pour lesquels la valeur du champ1 n'est pas dans la table 2, et réciproquement.

Tu me suis ? :D

par mere-teresa » 18 oct. 2005, 14:52

Il manque quelques précisions :)

1. Quel système de SGBD ? (MS-SQL Server ? Oracle ? MySQL ?)
2. Tu veux des enregistrements qui sont uniques et qui ne se recoupent pas entre les tables ? Ou le contraire?

Dédoublonner 2 tables, puis 3

par gdrara » 18 oct. 2005, 14:40

Salut à tous
Deuxième méga pb pour moi : j'ai 2 tables. Je souhiate lister les records de ces 2 tables, pour lesquels la valeur champ1 n'est pas commune. Je me sers de ce code (MSACCESS) :
SELECT [Table1].[Champ1] FROM [Table1] INNER JOIN [Table2] ON [Table2].[Champ1] = [Table1].[Champ1];
mais celui me retourne les valeurs communes. Je veux exactement l'inverse. Puis faire pareil sur une 3ieme table.
Merci bcp. Je suis largué :(