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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  fusionner le résultat de deux requêtes MySQL [Résolu]

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

fusionner le résultat de deux requêtes MySQL [Résolu]

n°2085399
sebyg
Posté le 28-06-2011 à 09:43:19  profilanswer
 

Bonjour,
j'ai un petit soucis avec un formulaire de recherche dans une base de données de livres :
 
j'ai une première table "livres" contenant tous mes livres (auteur, date, résumé, etc.) avec comme id l'ISBN
j'ai une seconde table "collections" ne contenant que les livres faisant partie d'une collection avec comme id l'ISBN de chaque livre aussi (trois colonnes : id, nom de la collection, numéro du livre dans cette collection).
 
Jusqu'à présent, on ne trouvait que "On a marché sur la Lune" qu'en recherchant un de ces mots, et non en cherchant le nom de la collection ("Tintin" en l'occurence). J'ai essayé de modifier mon script de recherche :
 
Quand je fais une recherche avec une requête "SELECT * FROM livres, collections WHERE id.livres = id.collections [...]", n'apparaissent que les livres présents dans la première ET la seconde table, les livres n'appartenant à aucune collection (absents de la seconde table) sont ignorés...
 
J'ai pensé fusionner deux requêtes : une pour les noms de collection (sur les deux tables), une pour les titres (uniquement sur la première table)...mais je ne sais pas trop comment faire, et je me pose la question des livres apparaissant en doublon dans les deux requêtes (ex. "Tintin au Tibet" )...
 
Je remercie d'avance celui ou celle qui prendra le temps de m'aider!
 
Sébastien


Message édité par sebyg le 28-06-2011 à 21:16:05
mood
Publicité
Posté le 28-06-2011 à 09:43:19  profilanswer
 

n°2085410
Riokmij
Blink and you're dead
Posté le 28-06-2011 à 10:05:45  profilanswer
 

En utilisant une jointure à gauche, ça devrait faire ce que tu veux :
 
SELECT tes colonnes FROM livres LEFT JOIN collections ON collections.id = livres.id WHERE tes critères de recherche
 
Cette requête va retourner toutes les lignes de la table "livres", et les informations de la table "collections" correspondantes si elles existent (NULL sinon).

n°2085602
sebyg
Posté le 28-06-2011 à 21:14:59  profilanswer
 

PARFAIT!
C'est ça qu'il me fallait (et ça marche en plus ^^) !
Merci beaucoup!


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

  fusionner le résultat de deux requêtes MySQL [Résolu]

 

Sujets relatifs
ISO-8859-15, utf-8 et mysql [Résolu]Random et limit sur un inner join MySQL
php / mysql pages blancheBloqué sur des requetes SQL basiques dans Access
Optimiser le temps de réponse de mes requetes HQL[PHP/MYSQL] Insérer/modifier des données
Afficher résultats base mysql -> tableau html horizontal[ACCESS]Affichage du résultat d'une requête sql en plusieurs colonnes
Affichage du résultat d'une requête sql en plusieurs colonnesFscanf, pas de stockage de résultat
Plus de sujets relatifs à : fusionner le résultat de deux requêtes MySQL [Résolu]


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