포인트
1. 1차 부서 (Y)를 구하는 것.
2. 단 employee_id가 한개 밖에 없다면 (N)을 출력
SELECT
employee_id,
department_id
FROM
Employee
WHERE 1=1
AND primary_flag = 'y'
OR employee_id IN (SELECT employee_id
FROM Employee
GROUP BY employee_id
HAVING COUNT(employee_id)=1)
처음에는 아래처럼 CASE 문을 써서 했는데 자꾸 NULL값이 나왔다..
아마 GROUP BY 이후에 계산을 하는 거라 그런듯..
SELECT
employee_id,
CASE
WHEN COUNT(employee_id)=1 THEN department_id
WHEN primary_flag='Y' THEN department_id
END AS department_id
FROM
Employee
GROUP BY
employee_id