Jointure entre 2 tbl de bases différentes mé sur le mem server [MySQL] - Programmation
Marsh Posté le 10-07-2001 à 13:36:24
Sous SQL Server/Sybase, pour accéder à des tables de bases différentes, on utilise la syntaxe suivante :
BASE..table
Ca marche peut-être en MySQL...
Marsh Posté le 10-07-2001 à 13:42:13
c bon g trouvé, ça a l'air tout con en fait :
La commande USE Nom_bdd statement indique à MySQL le nom de la base de données par défaut pour les requête suivantes. Cette base restera courante jusqu'à la fin de la session, ou jusqu'à la prochaine utilisation de la commande USE:
mysql> USE db1;
mysql> SELECT count(*) FROM maTable; # selects from db1.maTable
mysql> USE db2;
mysql> SELECT count(*) FROM maTable; # selects from db2.maTable
L'utilisation d'une base de données par défaut n'empêche pas l'accès aux autres bases. Par exemple, il est toujours possible d'accéder à la table editeur de la base db2, même après l'utilisation de USE db1
mysql> USE db1;
mysql> SELECT author_name,editor_name FROM author,db2.editor
WHERE author.editor_id = db2.editor.editor_id;
La commande USE est fournie pour assurer la compatibilité avec Sybase.
Marsh Posté le 10-07-2001 à 13:26:51
Voilà, gsur mon serveur g ça :
Base "share" :
- Table "matos"
Base "b1" :
- Table "prix"
Base "b2" :
- Table "prix"
Je voudrais faire un clause select équivalente à :
SELECT ... WHERE share.matos.id = b1.prix.id_matos
ou
SELECT ... WHERE share.matos.id = b2.prix.id_matos
or, en PHP je connais que ça :
mysql_db_query("nom de la base","SELECT... WHERE nom_de_table1.nom_de_colonne = nom_de_table2.nom_de_colonne" );
en fait il me fodré la même clause avec la possibilité de rajouter ds quelle base je veux aller chercher chaque table...
---------------
Les prix du matos sur Internet et près de chez vous : www.france-hardware.com