我想从mysql的"tournament_week"表中获取值,但如果它的一个可能''为空,那么从另一个具有相同名称的表'锦标赛'中获取值。 请在代码点火器中指导我
我的模型
$this->db->select(if'w.*, t.name tournament_name');
$this->db->from('tournament_week w');
$this->db->join('tournament t', 'w.tournament_id = t.id');
$this->db->where('w.tournament_id=', $tid);
$this->db->where('w.show_week', 1);
$this->db->order_by("w.week_no", "ASC");
$query = $this->db->get()->result_array();
return $query;
假设列名name
$this->db->select('coalesce(w.name, t.name) as tournament_name, w.tournament_id,<all other tournament_week fields>');
COALESCE 函数应该可以工作。 尝试以下操作。
$this->db->select('COALESCE(w.name, t.name) tournament_name);
$this->db->from('tournament_week w');
$this->db->join('tournament t', 'w.tournament_id = t.id');
$this->db->where('w.tournament_id=', $tid);
$this->db->where('w.show_week', 1);
$this->db->order_by("w.week_no", "ASC");
$query = $this->db->get()->result_array();
return $query;