Différence entre 2 tables dans 2 bdd
Fermé
Riwalenn
Messages postés
364
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
16 février 2015
-
19 févr. 2008 à 10:57
safaa - 5 mars 2012 à 19:59
safaa - 5 mars 2012 à 19:59
A voir également:
- Comparer deux tables sql
- Deux ecran pc - Guide
- Tables des matières word - Guide
- Deux comptes whatsapp - Guide
- Itinéraire google map entre deux adresses - Guide
- Faire deux colonnes sur word - Guide
16 réponses
excuse moi. en fait dans la requete "SELECT t1.id
FROM test1.table1 t1
WHERE t1.id not in(select id from test2.table2)
LIMIT 0 , 30 " test1 et test2 sont les noms des 2 bases, table1 et table2 sont leur tables respectives. id est juste le nom d'une colonne, j'ai pris id en exemple, mais ça pourrait être nom... Ensuite, t1 et t2 sont des alias, c'est à dire qu'au lieu de réécrire test1.table1 à chaque fois, t'écris juste t1. t1.id désigne donc la colonne id de la table table1 de la base base1. Le limit 0,30 signifie qu'il affiche les 30 premiers résultats à partir du début. J'espère que c'est plus clair.
FROM test1.table1 t1
WHERE t1.id not in(select id from test2.table2)
LIMIT 0 , 30 " test1 et test2 sont les noms des 2 bases, table1 et table2 sont leur tables respectives. id est juste le nom d'une colonne, j'ai pris id en exemple, mais ça pourrait être nom... Ensuite, t1 et t2 sont des alias, c'est à dire qu'au lieu de réécrire test1.table1 à chaque fois, t'écris juste t1. t1.id désigne donc la colonne id de la table table1 de la base base1. Le limit 0,30 signifie qu'il affiche les 30 premiers résultats à partir du début. J'espère que c'est plus clair.
Riwalenn
Messages postés
364
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
16 février 2015
101
20 févr. 2008 à 15:16
20 févr. 2008 à 15:16
en fait je t'explique ^^
J'ai le logiciel de comm, Goldmine, qui utilise la bdd 1. Chaque lundi je fais la commande suivante dans le logiciel Goldmine (qui permet les requêtes SQL, heureusement^^)
select recid,company,address1,address2,address3,city,state,zip,key1,key3,createon from contact1 where createon > "02/10/2008" and createon < "02/16/2008"
order by createon
cette simple requête me sort une liste (avec ce que tu vois dans le select) qui est exportable sous excel.
J'importe le fichier excel dans access, et une macro (que je n'ai pas faite moi-même) import cette liste dans la bdd n°2 !
en fait tu as le schéma suivant :
contact1.bdd1 ->import.bdd2 ->company.bdd2
l'import depuis access fait 2 requête, une insertion dans la table "import" et une insertion dans les autres tables nécessitant les informations que je viens de sortir.
Evidemment, il y a des erreurs. SI les données existent déjà dans la bdd 2, l'importation est refusée via cette requête faite par Goldmine.
Et il arrive souvent que certaines lignes ne sortent pas et donc ne sont pas importées dans la bdd n°2.
Donc, il faut que je fasse un comparatif juste de la table contact1 dans la base 1 et de la table company dans la base 2.
A partir des données qui ressortiront de ce comparatif, je pourrais alors faire une modification dans Goldmine qui ferait ressortir les données manquantes.
J'ai pensé aussi à créer un bdd de test et importer les tables contact1 et company dedans et faire un comparatif interne. Mais je ne sais pas ce que ça vaut.
P.S : j'ai oublié de préciser !!! Goldmine ne peut reçevoir qu'UNE seule base de donnée, dans mon exemple la bdd n°1.
J'ai le logiciel de comm, Goldmine, qui utilise la bdd 1. Chaque lundi je fais la commande suivante dans le logiciel Goldmine (qui permet les requêtes SQL, heureusement^^)
select recid,company,address1,address2,address3,city,state,zip,key1,key3,createon from contact1 where createon > "02/10/2008" and createon < "02/16/2008"
order by createon
cette simple requête me sort une liste (avec ce que tu vois dans le select) qui est exportable sous excel.
J'importe le fichier excel dans access, et une macro (que je n'ai pas faite moi-même) import cette liste dans la bdd n°2 !
en fait tu as le schéma suivant :
contact1.bdd1 ->import.bdd2 ->company.bdd2
l'import depuis access fait 2 requête, une insertion dans la table "import" et une insertion dans les autres tables nécessitant les informations que je viens de sortir.
Evidemment, il y a des erreurs. SI les données existent déjà dans la bdd 2, l'importation est refusée via cette requête faite par Goldmine.
Et il arrive souvent que certaines lignes ne sortent pas et donc ne sont pas importées dans la bdd n°2.
Donc, il faut que je fasse un comparatif juste de la table contact1 dans la base 1 et de la table company dans la base 2.
A partir des données qui ressortiront de ce comparatif, je pourrais alors faire une modification dans Goldmine qui ferait ressortir les données manquantes.
J'ai pensé aussi à créer un bdd de test et importer les tables contact1 et company dedans et faire un comparatif interne. Mais je ne sais pas ce que ça vaut.
P.S : j'ai oublié de préciser !!! Goldmine ne peut reçevoir qu'UNE seule base de donnée, dans mon exemple la bdd n°1.
goldo
Messages postés
72
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
28 juin 2010
8
19 févr. 2008 à 11:11
19 févr. 2008 à 11:11
Je ne connais pas très bien mySQL mais peux-tu importer par exemple la table 1 dans la bdd de la table 2 ?
Après je pense qu' il suffit de faire une requête SQL pour voir les nouveaux comptes qui sont dans la table 1 et pas dans la 2.
Après je pense qu' il suffit de faire une requête SQL pour voir les nouveaux comptes qui sont dans la table 1 et pas dans la 2.
Riwalenn
Messages postés
364
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
16 février 2015
101
19 févr. 2008 à 11:27
19 févr. 2008 à 11:27
Bonjour,
je ne veux surtout pas importer la table 1 vers la 2.... juste une comparaison.
je ne veux surtout pas importer la table 1 vers la 2.... juste une comparaison.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
19 févr. 2008 à 11:52
19 févr. 2008 à 11:52
bonjour,
Peut être peux-tu faire la même requête sur chaque base et ensuite faire une moulinette pour extraire les éléments manquants en comparant les 2 recordsets. Il ne restera plus qu'à faire les insert dans la table 2.
Un peu lourd.
;o)
polux
Peut être peux-tu faire la même requête sur chaque base et ensuite faire une moulinette pour extraire les éléments manquants en comparant les 2 recordsets. Il ne restera plus qu'à faire les insert dans la table 2.
Un peu lourd.
;o)
polux
Riwalenn
Messages postés
364
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
16 février 2015
101
19 févr. 2008 à 11:53
19 févr. 2008 à 11:53
Bonjour,
que veux-tu dire par faire une moulinette ? Je ne suis pas experte en SQL ^^
que veux-tu dire par faire une moulinette ? Je ne suis pas experte en SQL ^^
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
19 févr. 2008 à 12:00
19 févr. 2008 à 12:00
lol Une moulinette est une fonction qui va comparer les items un par un, c'est dire que dans une boucle le premier item de la table de la base1 va être comparer à tous les items de la table de la base 2 puis passer au second ... etc ... c'est à coder en VB.
Si tu as un problème, je veux essayer d'aider à le faire
;o)
polux
Si tu as un problème, je veux essayer d'aider à le faire
;o)
polux
Riwalenn
Messages postés
364
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
16 février 2015
101
19 févr. 2008 à 14:04
19 févr. 2008 à 14:04
oula la lol, ça devient compliqué pour moi ^^
Est-ce que je peux utiliser du code VB dans SQL ? où c'est après avoir extrait les données ?! Mais dans ce cas-là je dois faire une extraction des données sous quel format ?
merci.
Est-ce que je peux utiliser du code VB dans SQL ? où c'est après avoir extrait les données ?! Mais dans ce cas-là je dois faire une extraction des données sous quel format ?
merci.
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
19 févr. 2008 à 15:26
19 févr. 2008 à 15:26
Non, tu ne peux pas utiliser du VB en SQL, mais en VB, tu peux passer des instructions SQL à une base de données ... et ensuite traiter les données récupérées.
Riwalenn
Messages postés
364
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
16 février 2015
101
19 févr. 2008 à 18:00
19 févr. 2008 à 18:00
bon lol,
je sais ce qui me reste à faire, prendre mon bouquin de VB et m'y mettre ^^
je sais ce qui me reste à faire, prendre mon bouquin de VB et m'y mettre ^^
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
19 févr. 2008 à 19:11
19 févr. 2008 à 19:11
oui lol .. tu as VB6 sur ton ordi ?
salut. Dans mysql par exemple tu peux comparer deux tables de deux bases différentes:
SELECT t1.id
FROM test1.table1 t1
WHERE t1.id not in(select id from test2.table2)
LIMIT 0 , 30
Cette requete renvoie tous les ids de table1 de la base1 qui ne sont pas dans la 2.
SELECT t1.id
FROM test1.table1 t1
WHERE t1.id not in(select id from test2.table2)
LIMIT 0 , 30
Cette requete renvoie tous les ids de table1 de la base1 qui ne sont pas dans la 2.
bonjour milk_d
moi aussi j'ai le même problème mais j'ai crer les base de données sous sql server et non pas mysql et je veux et je veux recopie les enregistrements qui n'existe pas dans une et existe dans l'autre afin que les même enregistrements soit dans les deux bases.est ce qu'il a une différence si oui dite moi la quelle
moi aussi j'ai le même problème mais j'ai crer les base de données sous sql server et non pas mysql et je veux et je veux recopie les enregistrements qui n'existe pas dans une et existe dans l'autre afin que les même enregistrements soit dans les deux bases.est ce qu'il a une différence si oui dite moi la quelle
Riwalenn
Messages postés
364
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
16 février 2015
101
20 févr. 2008 à 09:05
20 févr. 2008 à 09:05
Je te remercie Mike mais je dois avouer que tes t1.id je les comprends pas par rapport aux noms que j'ai donné. Autant T1, je comprends que c'est la table de la bdd 1 mais id je ne vois pas ce que c'est !
c'est un peu flou surtout quand tu mets test1.table1 t1, est-ce que t1 représente table1 ou test1 ????
merci.
sinon pour répondre à polux, je ne crois pas avoir VB 6. Je ne sais plus quelle est la version, faudrait que je retrouve VB sur mon pc lol ^^
c'est un peu flou surtout quand tu mets test1.table1 t1, est-ce que t1 représente table1 ou test1 ????
merci.
sinon pour répondre à polux, je ne crois pas avoir VB 6. Je ne sais plus quelle est la version, faudrait que je retrouve VB sur mon pc lol ^^
Riwalenn
Messages postés
364
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
16 février 2015
101
20 févr. 2008 à 10:17
20 févr. 2008 à 10:17
Dis moi Polux,
est-ce que tu parles de VB ou VBScript ? où est-ce que c'est la même chose ?
est-ce que tu parles de VB ou VBScript ? où est-ce que c'est la même chose ?
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
20 févr. 2008 à 14:37
20 févr. 2008 à 14:37
bonjour,
Je parle de VB et ce n'est pas tout à fait la même chose que VBScript. Ce n'est pas génant si tu n'as pas VB sur ton PC, on peut faire ça avec Access ou même Excel avec VBA (même si j'aime pas trop) lol. Ou tout autre langage que tu puisses compiler.
Par contre, si j'ai bien compris, il y a une base de données (base1) qui est installée sur un serveur avec
MS SQL (SQL serveur). Chaque semaine il y a une extraction de cette base1 vers une base de données (base2) vers Access. Comment est faite cette extraction ? est-ce un import de table ? Ou il y a-t-il une requête pour alimenter la base Access ?
Je parle de VB et ce n'est pas tout à fait la même chose que VBScript. Ce n'est pas génant si tu n'as pas VB sur ton PC, on peut faire ça avec Access ou même Excel avec VBA (même si j'aime pas trop) lol. Ou tout autre langage que tu puisses compiler.
Par contre, si j'ai bien compris, il y a une base de données (base1) qui est installée sur un serveur avec
MS SQL (SQL serveur). Chaque semaine il y a une extraction de cette base1 vers une base de données (base2) vers Access. Comment est faite cette extraction ? est-ce un import de table ? Ou il y a-t-il une requête pour alimenter la base Access ?
Riwalenn
Messages postés
364
Date d'inscription
jeudi 25 août 2005
Statut
Membre
Dernière intervention
16 février 2015
101
21 févr. 2008 à 08:56
21 févr. 2008 à 08:56
Je te remercie pour tes explications, effectivement c'est plus clair.