J'ai des tables de remorquage, le premier est mda_alert_info et le second est key_contacts_info. Pour chaque alerte configurée, il peut y avoir plusieurs contacts correspondants. Les deux tables sont reliées par 3 colonnes mda_id, stage_id et ref_number et pendant la requête je devrai passer des valeurs de chiffres pour ellesJOIN deux déclarations SQL SELECT où l'un a un enregistrement unique et l'autre a plusieurs enregistrements
Comment obtenir tout ce que je veux des deux tables en une seule instruction. Voici les instructions SELECT individuelles.
$result = mysql_query("SELECT `mda_name`, `project_name`, `ipc_id` FROM `mda_alert_info` WHERE `stage_id`=1 AND `mda_id`=2 AND `ref_number`= '444'");
Ce sera toujours retourner un enregistrement
$result = mysql_query("SELECT `contact_role`, `contact_email`, `contact_ph_number` FROM `key_contacts_info` WHERE `stage_id`=1 AND `mda_id`=2 AND `role`=0 AND `ref_number`='444'");
Cela peut retourner plusieurs enregistrements
J'ai essayé pendant un certain temps et ne pouvait pas le faire fonctionner donc j'ai essayé d'ajouter un autre champ appelé ' moi 'aux deux tables qui est en train de concaténer les chaînes mda_id et stage_id puis j'ai essayé la requête ci-dessous.
$result = mysql_query("SELECT key_contacts_info.contact_role, key_contacts_info.contact_email, key_contacts_info.contact_ph_number, mda_alert_info.mda_name, mda_alert_info.project_name, mda_alert_info.ipc_id FROM key_contacts_info LEFT JOIN mda_alert_info ON key_contacts_info.me = mda_alert_info.me WHERE stage_id=1 AND mda_id=2 AND role=0 AND ref_number='444'");
Mais cela ne fonctionne toujours pas. Qu'est-ce que je fais de mal et comment puis-je le faire fonctionner.
MISE À JOUR:
Désolé, mais je dois préciser quelque chose sur la relation entre les tables les trois colonnes existent sur chaque table, mais ne sont pas les clés primaires sur l'une des tables
je l'ai dit au-dessus, il y a 3 colonnes mda_id, stage_id et ref_number – Amanni