>

LEFT JOIN을 사용하는 활성 작업이 없어도 프로젝트를 표시하려고하는데 작동하지 않는 것 같습니다. 명백한 실수 인 것 같습니다.

SELECT
  `projects`.`id` AS `project_id`,
  `projects`.`name` AS `project_name`,
  `jobs`.`id` AS `job_id`,
  `jobs`.`title` AS `job_title`,
  `jobs`.`description` AS `job_description`
FROM
  `projects`
  LEFT JOIN `jobs` ON `projects`.`id` = `jobs`.`project_id`
WHERE
  `projects`.`company_id` = 29
  AND `jobs`.`active` = 0
ORDER BY
  `projects`.`name`,
  `jobs`.`title` asc

SQLFiddle : http://sqlfiddle.com/#!9/305373/1

원하는 결과없이 null 를 통해 원하는 결과를 포함한 프로젝트 목록을 얻을 수 있습니다.  값).

  • 답변 # 1

    와이즈 비즈를 옮겨야 해   where 의 상태   jobs 에 :

    on
    
    
    SELECT . . . FROM `projects` LEFT JOIN `jobs` ON `projects`.`id` = `jobs`.`project_id` AND `jobs`.`active` = 0 WHERE `projects`.`company_id` = 29 에 대한 비교 . jobs   active 때문에 외부 조인을 내부 조인으로 바꿉니다.  값이 일치하지 않습니다.

  • 답변 # 2

    Put NULL   where 가있는 절  조항 :

    ON
    
    

  • 답변 # 3

    SELECT . . . FROM `projects` LEFT JOIN `jobs` ON `projects`.`id` = `jobs`.`project_id` AND `jobs`.`active` = 0 WHERE `projects`.`company_id` = 29; 제거  연결 조건을 설정 한 위치에서

    jobs.activve=0
    
    

    어디에서나 조건을 내부 결합으로 만들기

    SELECT `projects`.`id` AS `project_id`, `projects`.`name` AS `project_name`, `jobs`.`id` AS `job_id`, `jobs`.`title` AS `job_title`, `jobs`.`description` AS `job_description` FROM `projects` LEFT JOIN `jobs` ON `projects`.`id` = `jobs`.`project_id` and job.active=0 WHERE `projects`.`company_id` = 29 ORDER BY `projects`.`name`, `jobs`.`title` asc

  • 이전 pyodbc와 함께 사용하기 위해 Sage ERP 데이터베이스에 대한 읽기 전용 액세스 권한을 가진 계정을 작성하는 방법
  • 다음 html - 이와 같이 텍스트와 버튼을 정렬하는 방법, 부트 스트랩