我有两个表:
Plan (plan_id,plan_name).
Task(task_id,plan_name_id).
我想要下拉列表中计划表中未插入到任务表中的所有计划名称。
我写了这段代码。
$this->db->select('*');
$this->db->from('plan');
$this->db->join('task', 'task.plan_name_id =plan.plan_id');
$res= $this->db->get();
但这只显示了两个表中相同的那些。
如果要使用查询生成器,可以尝试以下操作
$res = $this->db->select('plan.*')
->from('plan')
->join('task', 'task.plan_name_id =plan.plan_id', 'left')
->where('task.plan_name_id', NULL)
->get();
请使用左连接
$this->db->select('*');
$this->db->from('plan');
$this->db->join('task', 'task.plan_name_id = plan.plan_id', 'left');
$res= $this->db->get();
你可以试试这个:
$query = "select * from plan where plan.plan_id NOT IN (select task.plan_name_id from task)"
$res= $this->db->query($query);