fusionner le résultat de deux requêtes MySQL [Résolu] - SQL/NoSQL - Programmation
Marsh Posté le 28-06-2011 à 10:05:45
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).
Marsh Posté le 28-06-2011 à 21:14:59
PARFAIT!
C'est ça qu'il me fallait (et ça marche en plus ^^) !
Merci beaucoup!
Marsh Posté le 28-06-2011 à 09:43:19
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