OK私はあなたのための解決策を見つけました私は投稿しています
$condition = 1;// Condition will be provided by you for selection. Could be zero
$data = array(
'members.name',
'subordinates.points',
'subordinates.event'
);
$this->db->select($data);
$this->db->join('members','members.code = subordinates.member_code','left');
$this->db->join('boss','boss.event = subordinates.event','left');
$this->db->where('boss.condition_type',$condition);
$this->db->where('boss.event = subordinates.event');
$this->db->get('subordinates');
また、クエリがもたらすイベントの違いを認識できるように、選択にイベントがあります。親切にテストして、問題なく動作するかどうかを確認してください。列名が少し異なる場合があります。テーブル間の関係を簡単かつ理解しやすくするために、このように使用することをお勧めします。
Table1 : members
Columns : id , code , name
Table2 : boss
Columns : id , event , member_code , condition_type
Table3 : subordinates
Columns : id , boss_event , member_code , points