저는 5 개의 테이블이 있습니다.
user, plan, achievement, user_plan, user_achievement
strucutre
User
id
name
Plan
id
name
achievement
id
name
*planID
user_plan
*planid
*userid
user_achievement
*achievementid
*userid
*createDate
그리고 나는 Codeigniter를 사용합니다 (중요하지 않습니다, 내가 원하는 것은 mysql 쿼리입니다)
$this->db->select('*');
$this->db->from('user');
$query = $this->db->get();
실제로 각 계획에 대해 달성 목록이 있습니다. 달성하지 못한 경우 user_achievement에 저장되지 않으므로 "각 사용자에 대해 1) 그의 이름을 얻습니다. 2) 그가 가입 한 계획을 어떻게 얻을 수 있습니까? 3) 그가 달성하고 달성하지 못한 업적 (성취 된 것을 강조해야 함) "?
감사.
조인 사용
$this->db->select('i.id,u.name,up.planid,p.name as planname,ua.achievementid,ach.name as ach_name');
$this->db->from('user as u');
$this->db->join('user_plan as up','up.userid = u.id','left');
$this->db->join('plan as p','p.id = up.planid','left');
$this->db->join('user_achievement as ua','ua.userid = u.id','left');
$this->db->join('achievement as ach','ach.id = ua.achievementid','left');
$query = $this->db->get();
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다