2016-09-02 7 views
0

テーブルからすべてのレコードを選択し、別のテーブルと結合して共通レコードをチェックしたいとします。問題は、INNER JOINを使用すると共通レコードのみを選択し、where句が真でない場合は最初のテーブルからレコードを選択しないということです。ここに私のSQLが欠落しているレコードが、その後NULLになりますあなたの結果で1つのテーブルのすべてのレコードを選択し、2番目のテーブルで共通する場合はチェックしてください

$stmt=$this->db->prepare("Select * FROM Departamente INNER JOIN Leg_Dep_Cand ON Leg_Dep_Cand.id_d=Departamente.id_d where Leg_Dep_Cand.id_c=:id_c"); 
     $stmt->bindParam(":id_c",$id); 
     $stmt->execute(); 
     $result = $stmt->fetchAll(); 
     return $result; 
+0

何ですか? WHEREの例外を除いてあなたが求めているものとまったく同じように聞こえる?その場合、where部分とbindParam行を削除しますか? –

+0

2番目のテーブルには複数のレコードがあり、現在の候補 'id_c'からそれらのレコードだけをフェッチしたいので、where句が必要です。私はそれが1つの選択で行うことはできないと思います、私は2つの選択をする必要があります、 – chris227

答えて

1
Select * 
FROM Departamente 
LEFT OUTER JOIN Leg_Dep_Cand ON Leg_Dep_Cand.id_d=Departamente.id_d  

です。

関連する問題