MySQL 쿼리에 문제가 있습니다. 사용자와 프로젝트라는 두 개의 테이블이 있습니다. 특정 프로젝트에서 프로젝트 이름과 사용자 수를 얻으려고합니다. 아래는 내가 사용하고있는 쿼리입니다. 합니다 (empProjId 프로젝트 테이블의 projId과 일치하는 사용자 테이블에 행이 없음) 프로젝트에 대한 작업에는 사용자가 없을 때 경우에 WHERE 조건 중 하나가 거짓 일 때 MySQL 쿼리가 null 값을 반환합니다.
SELECT b.projName AS project_name,
COUNT(a.empId) AS project_strength
FROM users a,
projects b
WHERE b.projName LIKE '%windows%' AND
(a.empProjId = b.projId)
는, 나는, 비록 널 (null)로 프로젝트 이름을 얻을 프로젝트가 프로젝트 테이블에 존재하고 같은 절이 일치합니다. 이 경우 프로젝트 이름을 표시하고 개수를 0으로 설정합니다.
저는 초보자이며 가능 여부를 알지 못합니다. 어떤 도움이라도 대단히 감사 할 것입니다. 많은 감사.
이미 데이터베이스에 대한 디자인 문제가 있습니다. 직원이 여러 프로젝트에 링크 될 수 있습니까? 나는 예 (프로젝트를 반드시 실행하는 것은 아니지만 오래된 것일 수도 있음)를 추정합니다. 이 경우 두 개의 필드 (projectId 및 userId)가있는 세 번째 테이블이 있어야 여러 프로젝트를 주어진 사용자에게 연결하고 여러 사용자를 특정 프로젝트 (= 다 대다 관계)에 연결할 수 있습니다. 나머지는 대답이 아마 당신을 도울 것입니다 ... –
@Bartdude 귀하의 회신에 많은 감사드립니다. 예, 일부 사용자는 여러 프로젝트에서 작업 중일 수 있습니다. 이 사실을 명심하고 필요한 변경을 할 것입니다. –