3つのテーブルを結合するクエリがあります。mysql joinを使用して一致しない値を表示する
$this->db->select("a.user_id as id, a.plate_number as plate_number, a.current_lat as lat, a.current_lon as lon, a.created_on as created_on, a.updated_on as updated_on, a.available as available, a.location_id as location_id, b.user_name as name, b.user_email as email, b.user_phone as phone, c.name as location_name");
$this->db->from('user_driver as a');
$this->db->join('user as b', 'a.user_id = b.user_id');
$this->db->join('vendor_location as c', 'a.location_id = c.location_id');
$query = $this->db->get();
$data['driver'] = $query->result_array();
私は存在しないにもかかわらず、user_driver
テーブルの残りの部分を表示したいです一致する値はvendor_location
テーブル。 LocationName
フィールドには、何も表示しないで、NULL
を入力することができます。
私はleft outer
とfull outer
を試しましたが、動作しません。それは私に唯一の列が表示されたままになった。
vendor_locationテーブルの外部キーはどちらですか? –
このようにアプローチしてください: '... user_driver INNER JOIN user ON .... LEFT JOIN vendor_location ON。 .. – 1000111
'location_id' @ AT-2016 – may