728x90
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이
- 이렇게 부모-자식이 한 테이블에서 확인되는 경우 쿼리 짜는데 힘들어 하는 것 같다.. (그래서인지 대장균 관련한 문제는 너무 싫어하고 풀기 싫어해서 마지막까지 남아있는 듯..)
- 부모의 형질을 모두 포함해야 하기 때문에 WHERE절에 P.PARENT_GENOTYPE & E.GENOTYPE = P.PARENT_GENOTYPE 로 지정해줘야 한다.
전체코드
-- 코드를 작성해주세요
WITH PARENTS AS(
SELECT ID, SUM(GENOTYPE) AS PARENT_GENOTYPE
FROM ECOLI_DATA
GROUP BY ID
)
SELECT DISTINCT E.ID, E.GENOTYPE AS GENOTYPE, P.PARENT_GENOTYPE
FROM PARENTS P RIGHT JOIN ECOLI_DATA E ON P.ID = E.PARENT_ID
WHERE P.PARENT_GENOTYPE & E.GENOTYPE = P.PARENT_GENOTYPE
ORDER BY E.ID
728x90
'코테 > SQL' 카테고리의 다른 글
[프로그래머스] 특정 세대의 대장균 찾기 (MySQL) (0) | 2024.12.23 |
---|---|
[프로그래머스] FrontEnd 개발자 찾기 (MySQL) (1) | 2024.12.19 |
[프로그래머스] 연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기 (MySQL) (0) | 2024.12.17 |
[프로그래머스] 언어별 개발자 분류하기 (MySQL) (0) | 2024.12.16 |
[프로그래머스] 조건에 맞는 개발자 찾기 (MySQL) (3) | 2024.12.09 |