1
여러 테이블에서 일부 사용자 정보를 가져와야하지만, 예를 들어 c.comp_title처럼 누락 된 것이 있으면 false가 반환됩니다. 발견 한 데이터를 반환하려면 어떻게해야합니까?모든 데이터를 찾지 못하면 Mysql 쿼리가 false를 반환합니다.
function one_edu($end_user, $one_id)
{
$query_str = "SELECT *
FROM edu a
JOIN user_profiles b ON a.user_id=b.user_id
JOIN (SELECT c.user_id, GROUP_CONCAT(c.comp_title) as comp_title, GROUP_CONCAT(c.comp) as comp
FROM comp c
GROUP BY c.user_id) c ON a.user_id = c.user_id
JOIN (SELECT s.user_id, GROUP_CONCAT(s.skill_title) as skill_title, GROUP_CONCAT(s.skill) as skill
FROM skills s
GROUP BY s.user_id) d ON a.user_id = d.user_id
JOIN (SELECT t.user_id, GROUP_CONCAT(t.exp_title) as exp_title, GROUP_CONCAT(t.experience) as experience
FROM exp t
GROUP BY t.user_id) e ON a.user_id = e.user_id
JOIN (SELECT e.user_id, GROUP_CONCAT(e.edu_title) as edu_title, GROUP_CONCAT(e.education) as education
FROM edu e
GROUP BY e.user_id) f ON a.user_id = f.user_id
WHERE a.user_id = ?";
$query = $this->db->query($query_str, $end_user);
if($query->num_rows() > 0)
{
foreach($query->result_array() as $stuff) {
$data[] = $stuff;
}
return $data;
}else{
return false;
}
}//end one_edu
감사합니다. LEFT JOIN이 (가) 트릭을했습니다. 매우 유용한 링크. – Ciprian