Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1096 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  double requete en une seule ?

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

double requete en une seule ?

n°1477636
Fazer916
y en a marre
Posté le 17-11-2006 à 20:31:22  profilanswer
 

je cherche a faire un lien et obtenir des infos a partir de 2 bases de données
 
exemple
base1
 
id   truc
--------
1     1
2     2
3     3
 
 
base2
 
id    nom
----------
1     chien
2     chat
 
 
j'aimerais savoir s'il est possible, en une seule requete,
- on cherche a partir de la base1 l'element truc, lequel renvoi l'id, qui correspond a l'id de la base2, dans laquelle j'aimerais obtenir le nom
 
exemple,
au lieu de faire

Code :
  1. "SELECT id FROM base1 WHERE truc = machin"
  2. puis
  3. "SELECT nom FROM base2 WHERE id = id_de_la_base_1"


 
merci

mood
Publicité
Posté le 17-11-2006 à 20:31:22  profilanswer
 

n°1477645
moi23372
Posté le 17-11-2006 à 21:11:59  profilanswer
 
n°1477650
KangOl
Profil : pointeur
Posté le 17-11-2006 à 21:27:39  profilanswer
 


en quoi c'est important ?
 

select base2.nom  
  from base1, base2  
 where base1.id = base2.id
   and base1.truc = 'machin'

n°1477657
Fazer916
y en a marre
Posté le 17-11-2006 à 22:00:23  profilanswer
 

cool merci bien !

n°1477715
Fazer916
y en a marre
Posté le 18-11-2006 à 09:47:13  profilanswer
 

question peut etre bete,
si base1 et base2 sont 2 tables mais d'une base de donnée differente, ça peut marcher en ouvrant les 2 connexions aux bases de données ?

n°1477723
moi23372
Posté le 18-11-2006 à 11:13:24  profilanswer
 

voila pourquoi l'SGBD est important...
 
Sous Oracle, on utilise pour cela un couple de DBLINK avec un SYNONYME...  
 
Chaque SGBD à sa technique pour accéder à une autre base...  

n°1477788
Fazer916
y en a marre
Posté le 18-11-2006 à 14:30:33  profilanswer
 

en fait c'est pas grave
j'ai tout remis dans la même base, pour simplifier le reste
 
et cette requete ne marche pas chez moi
donc je retourne a 2 requettes

Message cité 1 fois
Message édité par Fazer916 le 18-11-2006 à 15:20:26
n°1478039
leflos5
On est ou on est pas :)
Posté le 19-11-2006 à 12:01:58  profilanswer
 

Fazer916 a écrit :

en fait c'est pas grave
j'ai tout remis dans la même base, pour simplifier le reste
 
et cette requete ne marche pas chez moi
donc je retourne a 2 requettes


Tu rigoles :heink:  
 
Je suppose que t'as du mysql très probablement et en utilisant le schéma que tu as donné, si tu veux nom de base2 en utilisant id de base1 et en supposant que truc est une clé étrangère se rapportant à id de base2:

Code :
  1. select b.nom from base1 a left join base2 b on a.truc=b.id where a.id=ma_valeur

n°1478151
Fazer916
y en a marre
Posté le 19-11-2006 à 18:37:58  profilanswer
 

ok je vais essayer ça
 
pour l'autre requete non elle ne marchait pas, peut etre parce que je lui ai demandé de me fournir tous les champ de la base1 ainsi qu'un champ de la base2, ça complique un peu la ligne

n°1478591
MagicBuzz
Posté le 20-11-2006 à 16:53:59  profilanswer
 

arrêtez de mélanger les concepts de BASE et de TABLE :o

mood
Publicité
Posté le 20-11-2006 à 16:53:59  profilanswer
 

n°1478657
sircam
I Like Trains
Posté le 20-11-2006 à 17:34:27  profilanswer
 

Mais quel bordel ici! :o
 
Table != DB :o
 
Avec certains DBMS, il est possible de récupérer des données de deux DB distinctes, en un seul query, de manière transparente :o


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1478694
leflos5
On est ou on est pas :)
Posté le 20-11-2006 à 17:50:04  profilanswer
 

sircam a écrit :

Mais quel bordel ici! :o
 
Table != BD :o
 
Avec certains SGBD, il est possible de récupérer des données de deux DB distinctes, en une seule requête, de manière transparente :o


Voilà on comprend mieux :o
 
S'il a envie d'appeler sa table base :spamafote:

n°1479885
Fazer916
y en a marre
Posté le 22-11-2006 à 13:32:48  profilanswer
 

oui oui excusez moi c'est un lapsus du 1er post
Dans mon code j'ai bien entendu differencié table et base, et mes tables ne s'appellent pas 'base' bien sur.
mes 2 tables sont ds la mm base, et j'avais plusieurs infos a recuperer sur les 2 tables ne même temps.
 
Je teste cette requete dès que j'ai un moment
merci


Message édité par Fazer916 le 22-11-2006 à 13:33:22

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  double requete en une seule ?

 

Sujets relatifs
Déclaration de requête SQL en XMLJDBC, déclaration dynamique des requête SQL ?
[resolu] Probleme de requete sur deux tablesRequête SQL et gestion des dates
lecture fichier binaire de doubleSQL - requête sur nom de variable générée de façon dynamique
Requete SQL entre 2 tables ![résolu] Perte connexion Mysql 5 après chaque requête d'un script php
Ecrire un double dans un fichier[résolu] Besoin d'aide pour écrire une requête SQL compliquée
Plus de sujets relatifs à : double requete en une seule ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR