我有两个表:
Plan (plan_id,plan_name).
Task(task_id,plan_name_id).
我希望DropDown中计划表中所有未插入任务表的计划名称。
我写这段代码。
$this->db->select('*');
$this->db->from('plan');
$this->db->join('task', 'task.plan_name_id =plan.plan_id');
$res= $this->db->get();
但这只显示了两个表中相同的内容。
答案 0 :(得分:2)
如果要使用查询生成器,可以尝试以下操作
$res = $this->db->select('plan.*')
->from('plan')
->join('task', 'task.plan_name_id =plan.plan_id', 'left')
->where('task.plan_name_id', NULL)
->get();
答案 1 :(得分:0)
请使用左联接
$this->db->select('*');
$this->db->from('plan');
$this->db->join('task', 'task.plan_name_id = plan.plan_id', 'left');
$res= $this->db->get();
答案 2 :(得分:-3)
您可以尝试以下方法:
$query = "select * from plan where plan.plan_id NOT IN (select task.plan_name_id from task)"
$res= $this->db->query($query);