我有两个表,第一个是 mda_alert_info,第二个是 key_contacts_info。对于每个警报设置,可能有多个相应的联系人。两个表都由 3 列 mda_id、stage_id 和 ref_number 链接,在查询期间我必须为它们传递数字值
如何在一个语句中从两个表中获得我想要的所有内容。下面是单独的 SELECT 语句。
$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'");
这将始终返回一条记录
$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'");
这可能会返回多条记录
我尝试了一段时间,但无法让它工作,所以我尝试在两个表中添加另一个名为“me”的字段,该字段基本上是连接 mda_id 和 stage_id 字符串,然后我尝试了下面的查询。
$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'");
但它仍然无法正常工作。我做错了什么以及如何让它发挥作用。
更新:
抱歉,但我应该澄清一下表之间的关系这三列存在于每个表上,但不是任何一个表上的主键