Php 具有多个条件的SQL内部联接

Php 具有多个条件的SQL内部联接,php,mysql,Php,Mysql,我有下面的查询,它运行良好,但我想通过添加另一个条件来修改它,但不确定如何进行。我想添加的内容显示在第二个查询中,但它不起作用 $results_pref_school1 = $db->query('SELECT mps.mps_client_ec_no,mcs.mcs_client_ec_no FROM match_pref_schools AS mps

我有下面的查询,它运行良好,但我想通过添加另一个条件来修改它,但不确定如何进行。我想添加的内容显示在第二个查询中,但它不起作用

   $results_pref_school1 = $db->query('SELECT mps.mps_client_ec_no,mcs.mcs_client_ec_no
                                          FROM match_pref_schools AS mps
                                          INNER JOIN match_current_schools AS mcs
                                          ON mps.mps_school_id = mcs.mcs_school_id
                                          WHERE mcs.mcs_id IN (SELECT MIN(mcs.mcs_id) 
                                                              FROM match_current_schools AS mcs
                                                              GROUP BY mcs.mcs_school_id)
                                          ORDER BY mcs.mcs_id');
我只需要状态为“A”的结果

  $results_pref_school1 = $db->query('SELECT mps.mps_client_ec_no,mcs.mcs_client_ec_no
                                      FROM match_pref_schools AS mps
                                      INNER JOIN match_current_schools AS mcs
                                      ON mps.mps_school_id = mcs.mcs_school_id
                                      WHERE mcs.mcs_id IN (SELECT MIN(mcs.mcs_id) 
                                                          FROM match_current_schools AS mcs
                                                          GROUP BY mcs.mcs_school_id)
                                      AND mps.mps_status = "A" 
                                      AND mcs.mcs_status = "A"
                                      ORDER BY mcs.mcs_id');

我不能百分之百肯定我回答了你想问的问题,但你可以在
on
子句中使用括号来设置多个条件

select
    *
from
    table_1
    inner join table_2 on(
        table_2.column_1 = table_1.column
        and (
            table_2.other_column = 'value'
            or table_2.other_column = 'other value'
        )
    )
您可以尝试:

SELECT mps.mps_client_ec_no,mcs.mcs_client_ec_no
FROM match_pref_schools AS mps
INNER JOIN match_current_schools AS mcs
    ON mps.mps_school_id = mcs.mcs_school_id
    AND mps.mps_status = "A" 
    AND mcs.mcs_status = "A"
WHERE mcs.mcs_id IN (
    SELECT MIN(mcs.mcs_id) 
    FROM match_current_schools AS mcs
    GROUP BY mcs.mcs_school_id)
    ORDER BY mcs.mcs_id
)

当你去看医生时,你是否也会说“我病了”?看:这是什么?无限猴笼?你是什么意思?如果我们中有足够多人对定义不清的问题提供随机答案,那么最终肯定会有一个人是对的。是的,但我不认为这是开发资源的最佳方式。