왜 기업 번호와 사용자 번호를 사용하여 모든 부서와 해당 부서의 인원수를 조회하는데 하나의 데이터만 반환되나요?
데이터베이스 테이블 디자인은 다음과 같습니다. 사용자 테이블과 기업 테이블은 하나입니다. to-one, enterprise 테이블과 Department 테이블은 일대다입니다. 네,
다음은 제가 작성한 SQL입니다.
FROM
으아악LEFT JOIN company_personnel_file c ON c.branch_id = b.id
AND c.user_id =55
AND STATUS = 1
WHERE
AND b.company_id =10043
GROUP BY
한도 0,
10;
기업 테이블과 부서 테이블의 테이블명을 따로 설명하지 않으셨고, SQL에 기업이나 부서에 관련된 테이블이 하나만 있어서 부서 테이블인 줄로만 짐작할 수 있겠네요.
이 가정을 바탕으로 SQL에 대해 이야기해 보겠습니다. 귀하의 SQL에 다음과 같은 문제가 있습니다:
귀하의
WHERE 1 = 1
는 필요하지 않습니다LEFT JOIN
里的ON
语句,是用来限定左联上来的这个表的数据的,而不是用来限定结果数据的,要限定结果数据的话得用WHERE
절수정된 SQL은 다음과 같습니다.
으아악