2013-03-05 92 views
1

我有两个表,第一个是mda_alert_info,第二个是key_contacts_info。对于设置的每个警报,可能有多个相应的联系人。这两个表都链接3列mda_id,stage_id和ref_number,并在查询期间,我将不得不通过数字值为他们加入两个sql SELECT语句,其中一个有单个记录,另一个有多个记录

我如何从一个语句中获得所有我想从两个表。以下是各个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'");  

这可能返回多个记录

我尝试了一段时间,无法得到它的工作,所以我尝试添加另一场名为“我'这两个表,这基本上是concatting 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'"); 

但它仍然无法正常工作。我做错了什么,我如何才能使它工作。

UPDATE:

很抱歉,但我要澄清的三列的每个表上存在,但不是在任一表

+1

我说,它上面有3列mda_id,stage_id和ref_number – Amanni 2013-03-05 15:23:03

回答

2
SELECT a.*, b.* 
FROM mda_alert_info a 
     INNER JOIN key_contacts_info b 
      ON a.mda_id = b.mda_id AND 
       a.stage_id = b.stage_id AND 
       a.ref_number = b.ref_number 
WHERE b.role = 0 AND 
     a.stage_id = 1 AND 
     a.mda_id = 2 AND 
     a.ref_number = '444' 

为了进一步获得更多的主键的表之间的关系的东西知识约加盟,请访问以下链接:

+0

我需要给出ref_number,mda_id价值观和stage_id – Amanni 2013-03-05 15:26:07

+0

@Amanni看到我的更新。 – 2013-03-05 15:26:41

+0

对不起,但我应该澄清一下关于表格之间的关系,每个表格上有三列,但不是表格 – Amanni 2013-03-05 15:45:35

0
select 
    a.mda_name, 
    a.project_name, 
    a.lpc_id, 
    k.contact_role, 
    k.contact_email, 
    k.contact_ph_number 
from mda_alert_info a 
join key_contacts_info k 
    on a.state_id = k.state_id 
    and a.mda_id = k.mda_id 
    and a.ref_number = k.ref_number 
where a.state_id = 1 
    and a.mda_id = 2 
    and a.ref_number = '444' 
    and k.role = 0 
; 
相关问题