>  Q&A  >  본문

sql, java 지도 부탁드립니다.

왜 기업 번호와 사용자 번호를 사용하여 모든 부서와 해당 부서의 인원수를 조회하는데 하나의 데이터만 반환되나요?
데이터베이스 테이블 디자인은 다음과 같습니다. 사용자 테이블과 기업 테이블은 하나입니다. 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;

某草草某草草2694일 전763

모든 응답(1)나는 대답할 것이다

  • 为情所困

    为情所困2017-06-28 09:24:29

    기업 테이블과 부서 테이블의 테이블명을 따로 설명하지 않으셨고, SQL에 기업이나 부서에 관련된 테이블이 하나만 있어서 부서 테이블인 줄로만 짐작할 수 있겠네요.
    이 가정을 바탕으로 SQL에 대해 이야기해 보겠습니다. 귀하의 SQL에 다음과 같은 문제가 있습니다:

    1. 귀하의 WHERE 1 = 1는 필요하지 않습니다

    2. LEFT JOIN里的ON语句,是用来限定左联上来的这个表的数据的,而不是用来限定结果数据的,要限定结果数据的话得用WHERE

    수정된 SQL은 다음과 같습니다.

    으아악

    회신하다
    0
  • 취소회신하다