次のクエリがあります。
$sql = "SELECT * FROM employee AS emp LEFT JOIN tr_bls_date AS bls ON emp.employee_id=bls.employee_id AND employee_id='".$id."'";
基本的に、emp
とbls
テーブルの両方に共通のemployee_id
フィールドがあります。従業員 ID ( ) で特定の従業員を探してい$id
ます。ここで何が間違っていますか?
次のクエリがあります。
$sql = "SELECT * FROM employee AS emp LEFT JOIN tr_bls_date AS bls ON emp.employee_id=bls.employee_id AND employee_id='".$id."'";
基本的に、emp
とbls
テーブルの両方に共通のemployee_id
フィールドがあります。従業員 ID ( ) で特定の従業員を探してい$id
ます。ここで何が間違っていますか?
含まれているテーブルが 2 つemployee_id
あり、サーバーがどこを検索するか混乱しているためです。この問題を解決するには、ソース テーブルを追加します。
ON emp.employee_id = bls.employee_id AND
emp.employee_id = ? // this will search on table employee
を実行しているleft join
ため、次のエイリアスを使用する必要がありますemp
。
. . .
emp.employee_id=bls.employee_id AND emp.employee_id=. . .
left join
値を持つことが常に保証されているため、a の最初のテーブルのエイリアスを使用する必要があります。