begin process at 2012 05 30 16:46:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Multi select dans plusieurs tables


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Multi select dans plusieurs tables

samedi 22 octobre 2005 à 18:36:08 | Multi select dans plusieurs tables

rocknroll2

Membre Club
Bonjour à tous,
J'ai 11 tables.
Dans table1, j'ai tous les éléments des 9 autres tables.
Dans les table2 à table10, j'ai donc certains éléments de la table1, mais pas tous.
Le but est de select un "nom" de table1 et d'afficher à la suite, les éléments des 9 autres tables pour le même "nom" s'il existe dans chacune des tables.....

Je suis arrivé au résultat voulu, mais en faisant des requétes dans des requétes, elles même dans des requétes, elles même dans des while.....

Bref très lourd et très long !

Y aurait-il une solution plus "académique". Le problème supplémentaire étant que tous les "nom" de la table1 ne sont pas forcément dans les autres tables... ce qui m'a créé des erreurs de requètes....

Merci à ceux qui voudront bien se pencher sur ce problème.

Bonne prog à tous.

Rocknroll2
dimanche 23 octobre 2005 à 04:46:43 | Re : Multi select dans plusieurs tables

monoceros01

1/ SELECT nom FROM table1 WHERE clause_where

2/ Là tu as deux choix :
    a) SELECT
* FROM table2, table3, table4,... WHERE table2.nom = '$nom' AND table3.nom = '
$nom' AND table4.nom = '$nom' AND ....
    Mais si le nom recherché est absent d'une des tables, il n'y aura aucun résultat. Donc si tu utilise cette méthode, il faudra que tu inscrives à chaque fois que tu crée un nom dans la table1 le dupliquer dans toutes les tables.
   
    b)
SELECT * FROM table2 WHERE nom='plap'
UNION DISTINCT
SELECT * FROM table3 WHERE nom='plap'
UNION DISTINCT
SELECT * FROM table4 WHERE nom='plap'
UNION DISTINCT
SELECT * FROM table5 WHERE nom='plap'
UNION DISTINCT
....
Mais la il faut que le type des colonnes * correspondent entre chaque table, car les données seront fusionnées colonnes par colonnes. (Essaye cette requète sur ton phpmyadmin tu verras bien le résultat =) )

Voilà. Personnellement je préfère la solution a).
De toutes façons, je pense que les relations entre table1 et les autres sont en one-to-one ou one-to-many, donc tu dois répéter la clé primaire de table1 dans toutes les autres tables. (Après ça dépend ton niveau en structure de base de données, il est possible que tu n'es pas fait comme ça.... Mais y faudrait ;p)

   


dimanche 23 octobre 2005 à 10:20:43 | Re : Multi select dans plusieurs tables

rocknroll2

Membre Club
Merci monoceros01 pour ta réponse, mais je ne sais pas si cela correspond à ce que je recherche, je vais quand même m'y pencher.
En fait:
Table1: pseudo, Nom, prénom, adresse..... etc (regroupant tous les pseudos des autres tables)
Table2 à table10: pseudo, date, info1, info2
J'ai donc juste le pseudo en "commun" (pas de doublon possible).
Ce pseudo peut se trouver dans table2, table3 et table10, mais pas dans les autres tables....
Je cherche au final à avoir un tableau qui m'affiche:

Table1.pseudo / information de table3 sur ce pseudo / information de table10 sur ce pseudo.

Actuellement, je me plante si le pseudo n'existe pas dans l'une des tables 2 à 10.
Je suis donc obligé, pour chaque pseudo de la table1, de faire une requète séparée sur toutes les autres tables...
Genre:
Select pseudo from table2 where table2.pseudo = table1.pseudo
si réponse positive, alors je récupère les infos
Select pseudo from table3 where table3.pseudo = table1.pseudo
si réponse positive, alors je récupère les infos
Select pseudo from table4 where table4.pseudo = table1.pseudo
si réponse positive, alors je récupère les infos... etc...

C'est très long....

J'ai essayé une requéte "globale", mais soit je n'obtiens rien, soit j'obtiens uniquement les infos sur les pseudos qui existent dans TOUTES les tables !

si toi ou quelqu'un d'autre avait une idée...

rocknroll2
dimanche 23 octobre 2005 à 10:25:52 | Re : Multi select dans plusieurs tables

monoceros01

Hum, il est possible que tu n'es pas bien conçu la structure de ta base... il faudrait que tu me copie/colle celle-ci
(dans phpmyadmin va dans "exporter" et selectionne les tables de ta base et coche "exporter la structure seule", tu décoche transmettre" tu envoi le formulaire et ça devrait t'afficher la structure sous forme de requète SQL)

Ensuite, explique moi à quoi te sers chaque table.

En ayant une vue plus globale je pourrais mieux t'aider.

dimanche 23 octobre 2005 à 17:29:27 | Re : Multi select dans plusieurs tables

rocknroll2

Membre Club
monoceros01,
je viens de t'envoyer un MP avec les renseignements que tu demandes.
Merci pour ton aide.

En attendant, si qqu'un a une idée lumineuse...
rocknroll2


Cette discussion est classée dans : select, tables, éléments, table1, requétes


Répondre à ce message

Sujets en rapport avec ce message

requétes sur tables de bases de données différentes [ par msohet ] Je pose quand même la question mais je pense déja connaître la réponse :est-il possible de faire une requéte faisant intervenir des tables de bases di Jointure [ par Teddy_le_gnein ] Hello tous le monde.Voilà mon problème.J'ai une requête à faire, je suis persuadé que ça ne dois pas être si insurmontable que ça, mais voilà je nage Requette SQL ds 2 tables [ par younes371 ] Bonjour, je travail sur MySQL, j'ai deux tables : table1(id_table1,nom) table2(id_table2,nom,prenom,adresse) dont : table2 contient des informations s select sur 2 tables [ par perig ] Salut alors voila!!!!Dans une base sql, j'ai 2 tables identiques en structure (je tenais a séparer les données au début et je me vois mal revoir toute Select sur 2 tables d'un champ similaire [ par destiny ] Bonjour, voila mon problème : table biens (adresse) * Adresse 01 * Adresse 02 table contacts (adresse) * Adresse 03 J'aimerai avoir com Rajouter un champ dans un select [ par davidbdjt2 ] Bonjour, jexplique ce que je souhaite avec un exemple, ca sera plus facile : jai 2 table : table1, table2 table1 id ... 1 2 3 4 table2 id table1_i SELECT DISTINCT de 2 tables [ par xactise ] Bonjour tous le monde, voila je block sur une requête sql et je compte sur votre aide pour me sortir de la ^^j'ai 2 table qui ont tous 2 2 champs "act Select dans tables multiples en groupant un champ [ par destiny ] Bonjour J'aimerai faire un SELECT dans deux tables (voir ci-dessous) en groupant le champ 'adresse'. table biens (_ID, adresse) table contacts (_ID Requête vide car variable vide [ par artkap ] Bonjour, voila j'ai un formulaire de recherche avec des select box. Par default je leur ai attribué une valeure nulle : ... ma page php récupère le javascript/php et formulaire [ par dezossor ] Bonjours,Je développe actuellement une application web pour ma boite et je me trouve face à un petit problème. La réponse est certainement très simple


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales