Aller au contenu

jointure mysql complexe.


Sujets conseillés

Posté

Bonjour,

Non informaticien à la base, j'ai un problème précis avec une requéte :

$req_sql="select maj.date_cde, maj.num_com, articles.id_article

from maj, articles, sites_annu AS direct, dossier_assoc, sites_annu AS integre

where articles.num_com=maj.num_com

and articles.id_article=direct.id

and (direct.id=dossier_assoc.dossier OR direct.id=dossier_assoc.faq)

and (dossier_assoc.faq=integre.id or dossier_assoc.dossier=integre.id)

and (direct.id_auteur='17' or integre.id_auteur='17')";

Cette requete fonctionne, sauf une partie :

Si dans ma table dossier_assoc, je n'ai aucune donnée dans les champs dossier et faq correspondant à direct.id, la requete ne remonte rien, même (et c'est la qu'est le problème), si j'ai des données à remonter de ma table "direct" (car satisfaisant à la condition "direct.id_auteur='17'".

Il me semble comprendre, avec mes pauvres compétences et les quelques bouquins potassés, qu'il faudrait faire une 'jointure externe gauche' pour prendre en compte les données de la première partie de la jointure(avant le "and (direct.id=dossier_assoc.dossier OR direct.id=dossier_assoc.faq")) même si on n'a pas de données dans la deuxième partie, mais je ne vois pas comment ecrire cela avec 4 tables liées les unes aux autres.

J'ai essayé plein de truc savec des INNER JOIN et LEFT JOIN, mais j'ai toujours des messages d'erreur du type 'not unique table/alias..."

Merci de votre aide

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...