fusion de deux bases SQL

fusion de deux bases SQL - SQL/NoSQL - Programmation

Marsh Posté le 31-05-2007 à 15:18:27    


Bonjour, je suis actuellement en stage dans une entreprise à Barcelone, et comme en France les stagiaires servent a tout faire.
 
Donc mon problème c'est qu'on m'a demandé de modifier leur intranet en changeant des requêtes SQL ou de carrèment remplir un base avec l'autre hors je n'y connais pas grand chose, mon domaine de prédilection c'est plutôt le réseau pur et dur ^^
 
Donc j'explique le problème ils ont deux bases SQL, l'une qui s'occupe de l'intranet de la boite où sont répertorié tous les employés avec pas mal de données dont entre autres
 
Base :  
 
- nom ( PHONE_SURNAME1 )
- prénom ( PHONE_NAME )
- Numéros de Téléphone IP ( PHONE_EXT )
 

Code :
  1. CREATE TABLE `MP_PHONE` (
  2.   `PHONE_ID` int(8) NOT NULL auto_increment,
  3.   `PHONE_MAIL` varchar(128) default NULL,
  4.   `PHONE_NAME` varchar(64) default NULL,
  5.   `PHONE_SURNAME1` varchar(64) default NULL,
  6.   `PHONE_1` varchar(16) default NULL,
  7.   `PHONE_2` varchar(16) default NULL,
  8.   `PHONE_3` varchar(16) default NULL,
  9.   `PHONE_CELL1` varchar(16) default NULL,
  10.   `PHONE_CELL2` varchar(16) default NULL,
  11.   `PHONE_TST` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  12.   `PHONE_WORKERID` int(8) NOT NULL default '0',
  13.   `PHONE_EXT` varchar(16) default NULL,
  14.   `PHONE_EXT2` varchar(255) NOT NULL default '',
  15.   `PHONE_CELL_EXT` varchar(16) default NULL,
  16.   `PHONE_FAX1` varchar(16) default NULL,
  17.   `PHONE_FAX2` varchar(16) default NULL,
  18.   `PHONE_SURNAME2` varchar(64) default NULL,
  19.   `PHONE_ACTIVE` char(1) NOT NULL default 'Y',
  20.   `PHONE_FIRMNAME` varchar(255) default NULL,
  21.   PRIMARY KEY  (`PHONE_ID`),
  22.   KEY `PHONE_ID` (`PHONE_ID`)
  23. ) ENGINE=MyISAM AUTO_INCREMENT=1156 DEFAULT CHARSET=latin1 AUTO_INCREMENT=1156 ;


De l'autre une autre base SQL sur un autre serveur qui est en fait l'annuaire des téléphones IP
Avec :
 
 
- Nom ( ext_nom )  
- prénom ( ext_cognoms )
- Numéros de Téléphone IP ( ext_numext )  
 

Code :
  1. --
  2. -- Structure de la table `extensions_fixos`
  3. --
  4. CREATE TABLE `extensions_fixos` (
  5.   `ext_id` int(11) NOT NULL auto_increment,
  6.   `ext_display` varchar(255) default NULL,
  7.   `ext_nom` varchar(255) default NULL,
  8.   `ext_cognoms` varchar(255) default NULL,
  9.   `ext_departament` varchar(128) default NULL,
  10.   `ext_idreo` int(11) default NULL,
  11.   `ext_numext` varchar(6) default NULL,
  12.   `ext_numdir` varchar(12) default NULL,
  13.   `ext_idmodel` int(11) NOT NULL default '0',
  14.   `ext_publicar` int(11) default NULL,
  15.   `ext_importat` int(11) NOT NULL default '0',
  16.   `ext_dataimport` datetime default NULL,
  17.   PRIMARY KEY  (`ext_id`)
  18. ) ENGINE=MyISAM AUTO_INCREMENT=9831 DEFAULT CHARSET=latin1 AUTO_INCREMENT=9831


 
 
Le but étant de pouvoir récupérer le Numéros de Telephone IP de la seconde base et de remplir la case telephone IP de chaque employé.
 
Le problème étant que les noms sur les deux bases peuvent être différent, nom / prénom inversé, infos diverses rajouté après le nom etc ...
 
Merci d'avance de votre aide, car je n'arrive pas a remplir la base 1 avec la deuxième et ce que j'ai trouvé sur le net soit ne marche pas comme je le voudrais, soit je ne comprend pas très bien comment l'utiliser.
 
 
 
 

Reply

Marsh Posté le 31-05-2007 à 15:18:27   

Reply

Marsh Posté le 31-05-2007 à 16:54:28    

J'ai dû le faire dans une boite ou je suis en stage également. J'ai procédé comme suit :

Code :
  1. INSERT INTO mabase1.matable(champ1, champ2, champ3, ...) SELECT t.champ1, t.champ2, t.champ3, ... FROM mabase2.matable t;
 

Cependant mes bases étaient sur le même serveur avec les mêmes droits. Je ne sais pas comment faire avec 2 serveurs distants


Message édité par AlphaZone le 31-05-2007 à 16:56:08

---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
Reply

Marsh Posté le 31-05-2007 à 17:01:39    

Merci beaucoup pour ton aide :)  
Le problème qui me bloque c'est que les noms / prénoms peuvent être inversé et donc je dois trouver quelle est le bon nom/prénom pour que le champ du numéro de tel soit rempli.

Reply

Marsh Posté le 31-05-2007 à 17:07:25    

zublo a écrit :

Le problème qui me bloque c'est que les noms / prénoms peuvent être inversé et donc je dois trouver quelle est le bon nom/prénom pour que le champ du numéro de tel soit rempli.


Bonne chance alors.


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed