1つのテーブルの行と別のテーブルの行を一致させたいです。私は次のようなクエリを構築しました。それ以外の点では、行を一度しか選択できないように、それをさらに調整することに失敗しています。 $のmatched_schoolのあるテーブルの行と別のテーブルの行とを一致させ、各行を1回だけ一致させる必要があります。
try{$results_pref_school1 = $db->query('SELECT mps.mps_client_ec_no, mcs.mcs_client_ec_no, mps.mps_school_id, mcs.mcs_school_id
FROM match_pref_schools AS mps
INNER JOIN match_current_schools AS mcs
ON mps.mps_school_id = mcs.mcs_school_id
AND 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');
}catch (Exception $e){
echo 'Failed to retrieve matched preferred school';
exit;
}
$matched_school = $results_pref_school1->fetchAll(PDO::FETCH_ASSOC);
のvar_dumpを生成します。
Array
(
[1] => Array
(
[mps_client_ec_no] => REG5
[mcs_client_ec_no] => GL98888
[mps_school_id] => 6
[mcs_school_id] => 6
)
[2] => Array
(
[mps_client_ec_no] => TAS4752
[mcs_client_ec_no] => ALF1252
[mps_school_id] => 14
[mcs_school_id] => 14
)
[3] => Array
(
[mps_client_ec_no] => MAP002
[mcs_client_ec_no] => ALF1252
[mps_school_id] => 14
[mcs_school_id] => 14
)
)
を私はALF1252は一度だけマッチすると思った以上の結果で。
http://sqlfiddle.com/#!9/f47c7/1 – Parts
@kuldeed。私はテーブルとクエリを変更しましたが、私はまだ同じ結果を得ています。ここをクリックしてください:http://sqlfiddle.com/#!9/8098cb/1 – Parts
出力の@Parts終了私に教えてください –