1

次のクエリがあります。

$sql = "SELECT * FROM employee AS emp LEFT JOIN tr_bls_date AS bls ON emp.employee_id=bls.employee_id AND employee_id='".$id."'";

基本的に、empblsテーブルの両方に共通のemployee_idフィールドがあります。従業員 ID ( ) で特定の従業員を探してい$idます。ここで何が間違っていますか?

4

2 に答える 2

3

含まれているテーブルが 2 つemployee_idあり、サーバーがどこを検索するか混乱しているためです。この問題を解決するには、ソース テーブルを追加します。

ON emp.employee_id = bls.employee_id AND 
   emp.employee_id = ?      // this will search on table employee
于 2013-04-18T00:54:10.533 に答える
2

を実行しているleft joinため、次のエイリアスを使用する必要がありますemp

. . .
emp.employee_id=bls.employee_id AND emp.employee_id=. . .

left join値を持つことが常に保証されているため、a の最初のテーブルのエイリアスを使用する必要があります。

于 2013-04-18T00:53:39.497 に答える