좋아요, 나는 hr_employees
과 hr_positions
의 두 테이블이 있습니다. hr_positions
에는 쿼리와 일치하는지 테스트하고 볼 필요가있는 designation
필드가 있습니다. 나는 특정 지정 (hr_positions.designation
)와 일치 특정 상태 (hr_employees.status
)입니다 특정 이동 (hr_employees.shift
)의 모든 직원의 수에 필요2 개의 테이블이있는 특정 JOIN
: 여기 내 상황입니다.
현재 다음 SQL을 사용하고 있지만 오류가 발생합니다. 나는 테이블 100 %를 조인하는 방법을 확신하지 못했기 때문에, 우리가 한 일을 왜하는지에 대한 약간의 설명이 이것을 이해하는 데 도움이 될 것입니다.
SELECT count(*) FROM hr_employees he
JOIN hr_positions hp ON he.position = hr_positions.id
WHERE he.id != 0 AND
he.shift = 1 AND
hp.designation != 2
빠른 답변입니다.
편집 편집 편집
알 수없는 열이 '절에'의 'hr_positions.id'내가 오류입니다.
당신의 ON 절에 이름을 사용할 필요가? 질문에 테이블 정의를 추가하면 도움이 될 것입니다. – andrewsi
'JOIN hr_positions hp ON he.position = hr_positions.id' 당신이 이미 그것을 이름 지었기 때문에'hr_positions' 대신'hp'를 사용합니다 –
당신의 테이블 스키마는'hr_positions' 테이블이 아닌 에러에서 나타날 것입니다 'id' 필드가 있습니다 – fullybaked