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

  FORUM HardWare.fr
  Programmation
  PHP

  Rassembler résultats de 2 requetes sql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Rassembler résultats de 2 requetes sql

n°2052874
dzaohfz
Posté le 29-01-2011 à 14:15:18  profilanswer
 

Bonjour,
 
J'aimerais rassembler les résultats de 2 requêtes identiques.
Je m'explique, j'ai 2 bases, avec chacune une table pays(Nom, Ville).
Dans la première table j'ai par exemple :
France Paris
France Marseille
USA     Los Angeles
Russie  Moscou
Et dans la deuxieme :
France Lyon
USA New-York
 
Ma requete est SELECT count(*) as nb From Pays GROUP BY Nom, ORDER BY nb
 
je récupère donc :
France 2
USA     1
Russie  1
et :
France  1
USA     1
 
je voudrais pouvoir joindre les résultats pour avoir :
France  3
USA      2
Russie   1
 
 
Est-ce possible facilement de joindre les résultats des 2 rèquetes ?

mood
Publicité
Posté le 29-01-2011 à 14:15:18  profilanswer
 

n°2052883
esox_ch
Posté le 29-01-2011 à 15:30:41  profilanswer
 

Salut,

 

Si tu utilises MySQL tu peux le faire en 1 coup directement dans la base en faisant une jointure entre les databases ( exemple ici : http://www.dottedidesign.com/node/14). Par contre j'ai l'impression que ça doit pas être très glop niveau performances :heink:


Message édité par esox_ch le 29-01-2011 à 15:31:04

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2052884
dzaohfz
Posté le 29-01-2011 à 15:34:24  profilanswer
 

Le problème c'est que mes tables sont dans 2 bases sur 2 serveur différents

n°2052886
esox_ch
Posté le 29-01-2011 à 15:39:45  profilanswer
 

Ok ... Même si ça serait possible de le faire quand même je pense, les perf seraient ignobles (là aussi, c'est mon avis, j'ai jamais essayé de faire qqch de tel).
 
Mais vu que tu postes dans la cat PHP, tu peux faire la somme en PHP non?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2052888
dzaohfz
Posté le 29-01-2011 à 15:41:54  profilanswer
 

Oui, mais ça fait tout un travail en php avec des regexp. Donc je voulais juste savoir avant si c'était possible de fusionner les 2 résultats sql pour pouvoir directement travaillé dessus avec mysql_fetch_array :)

n°2052893
esox_ch
Posté le 29-01-2011 à 15:58:08  profilanswer
 

Tout un travail avec des regexp :??:
Tu prends tes 2 tableaux, tu merges les clés ( array_merge(keys($tab1), keys($tab2)) ), ensuite tu fais un for dessus qui fait la somme des valeurs correspondantes..
 
C'est fait en 10 lignes :heink:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2052894
dzaohfz
Posté le 29-01-2011 à 16:02:16  profilanswer
 

heuuu ouai peut-etre, faut que j'étudie ces array_merge alors :)

n°2052900
dzaohfz
Posté le 29-01-2011 à 17:10:27  profilanswer
 

esox_ch a écrit :

Tout un travail avec des regexp :??:
Tu prends tes 2 tableaux, tu merges les clés ( array_merge(keys($tab1), keys($tab2)) ), ensuite tu fais un for dessus qui fait la somme des valeurs correspondantes..
 
C'est fait en 10 lignes :heink:


 
Déjà je peux pas mergé directe sur les résultats des requetes, car il faut des array et c'est des resources

n°2052901
esox_ch
Posté le 29-01-2011 à 17:15:01  profilanswer
 

Merci de ne pas répondre sur un ton genre "déjà critique pas ce que je fais" alors que t'es à côté de la plaque.
Tu utilises quoi comme fonction pour exécuter tes requêtes? Parce qu'en utilisant fetchAll ( http://www.php.net/manual/en/pdostatement.fetchall.php ) avec les bon params ça joue ..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2052902
dzaohfz
Posté le 29-01-2011 à 17:19:22  profilanswer
 

Non c'était un "déja je suis bloqué à ce nivo", désolé que tu l'ai pris mal :) ok je vais voir ce fetchAll :) j'avais fait de simple mysql_result

mood
Publicité
Posté le 29-01-2011 à 17:19:22  profilanswer
 

n°2052906
dzaohfz
Posté le 29-01-2011 à 17:43:09  profilanswer
 

J'ai mis mes resources dans des tableaux php mais avec array_merge j'arrive pas, ça n'additionne pas la ou le nom est le même

n°2052914
dzaohfz
Posté le 29-01-2011 à 18:19:29  profilanswer
 

C'est bon avec ça avant :)
 

Code :
  1. foreach ($tableau1 as $key=>$value) {
  2.        if (isset($tableau2[$key])) {
  3.                 $tableau1[$key] += $tableau2[$key];
  4.                 unset($tableau2[$key]);
  5.        }
  6. }


n°2052915
esox_ch
Posté le 29-01-2011 à 18:23:57  profilanswer
 

Moi je l'aurais fait autrement.. en faisant un merge des clé des tableaux (voir mon post plus haut) et ensuite en l'utilisant pour parcourir les 2 autres tableaux et faire la somme


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Rassembler résultats de 2 requetes sql

 

Sujets relatifs
Regroupement de résultats sur une seul lignemysql > obtenir résultats connexes en une query
Requêtes SQL et commentairesEtablir un classement selon résultats sportifs ?
MySql tres sensible aux surchages et aux requetes simultaneesMoteur de recherche affichant les images des resultats
[ACCESS] Rafraichissement tables liés avec requêtesTrier un array et catégoriser les infos (ou requêtes multiples ?)
Remettre à zéro la liste des résultats MySQL[SQL]Factorisation de sous-requêtes
Plus de sujets relatifs à : Rassembler résultats de 2 requetes sql


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