Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comparaison de 2 tables

3 réponses
Avatar
La Norme Française c'est pas le FN
Bonjour,

je butte sur un problème simple en apparence mais je n'arrive pas à
trouver la solution avec une seule requête en sql. J'y suis arrivé
avec 2 requetes mais ça m'enerve de pas y arriver avec une seule.

J'ai 2 tables (liés à 2 fichiers) qui ont chacune une colonne

Dans le premier fichier, j'ai des references de tous les produit ayant
existé dans notre magasin.
Dans le 2e, les références des produits toujours en vente.
je cherche à extraire du 1er fichier ceux qui ne sont plus référencés
sauf que dans ce fichier chaque référence de terminent par ".000"

Avec 2 requêtes, j'ai triché en ajoutant le ".000" dans un champs
calculé pour que se soit identique (donc j'ai 2 colonnes)

Il n'y a pas de doublon.

Avez vous une idée ?

Merci









--
« le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun)
C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme

3 réponses

Avatar
db
Le 28/04/2016 à 19:45, La Norme Française c'est pas le FN a écrit :
Bonjour,

je butte sur un problème simple en apparence mais je n'arrive pas à
trouver la solution avec une seule requête en sql. J'y suis arrivé
avec 2 requetes mais ça m'enerve de pas y arriver avec une seule.

J'ai 2 tables (liés à 2 fichiers) qui ont chacune une colonne

Dans le premier fichier, j'ai des references de tous les produit ayant
existé dans notre magasin.
Dans le 2e, les références des produits toujours en vente.
je cherche à extraire du 1er fichier ceux qui ne sont plus référencés
sauf que dans ce fichier chaque référence de terminent par ".000"

Avec 2 requêtes, j'ai triché en ajoutant le ".000" dans un champs
calculé pour que se soit identique (donc j'ai 2 colonnes)

Il n'y a pas de doublon.

Avez vous une idée ?




Select champ1 from table1 where champ1 not in (select champ2 & ".000"
from table2)

...Mais je ne suis pas sûr d'avoir bien compris la demande…

db
Avatar
La Norme Fran
On Thu, 28 Apr 2016 22:45:40 +0200, db
wrote:

Le 28/04/2016 à 19:45, La Norme Française c'est pas le FN a écrit :
Bonjour,

je butte sur un problème simple en apparence mais je n'arrive pas à
trouver la solution avec une seule requête en sql. J'y suis arrivé
avec 2 requetes mais ça m'enerve de pas y arriver avec une seule.

J'ai 2 tables (liés à 2 fichiers) qui ont chacune une colonne

Dans le premier fichier, j'ai des references de tous les produits ayant
existé dans notre magasin.
Dans le 2e, les références des produits toujours en vente.
je cherche à extraire du 1er fichier ceux qui ne sont plus référencés
sauf que dans ce fichier chaque référence de terminent par ".000"

Avec 2 requêtes, j'ai triché en ajoutant le ".000" dans un champs
calculé pour que se soit identique (donc j'ai 2 colonnes)

Il n'y a pas de doublon.

Avez vous une idée ?




Select champ1 from table1 where champ1 not in (select champ2 & ".000"
from table2)

...Mais je ne suis pas sûr d'avoir bien compris la demande…

db




Fichier1.TXT
CHAMP1
199822434.000
199822435.000
199822436.000
199822437.000
199822438.000

Fichier2.TXT
CHAMP2
199822437
199822438


Le resultat que je recherche avec une seule requête :
CHAMP3
199822434.000
199822435.000
199822436.000


Je me suis basé sur ton exemple et ça mouline sevère avec Access2013
et il ne m'affiche pas le nombre de ligne.

J'y arrive à obtenir ce que je veux avec 2 requêtes ou même avec
excel. Donc j'ai le résultat mais pas avec 1 requête seulement sur 2
tables liées à des fichiers et je me casse la tête dessus depuis 2
jours pour comprendre pourquoi ça ne marche pas.

--
« le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun)
C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
Avatar
db
Le 29/04/2016 à 14:46, La Norme Française c'est pas le FN a écrit :


J'y arrive à obtenir ce que je veux avec 2 requêtes ou même avec
excel. Donc j'ai le résultat mais pas avec 1 requête seulement sur 2
tables liées à des fichiers et je me casse la tête dessus depuis 2
jours pour comprendre pourquoi ça ne marche pas.





Quelles sont les SQL des deux requêtes qui vous donnent le bon résultat ?

db