DevHyun

1 : N의 관계인 테이블 A와 B를 JOIN 할 때, 테이블 B의 데이터는 한개만 가져오고 싶을 때 본문

SQL/Query

1 : N의 관계인 테이블 A와 B를 JOIN 할 때, 테이블 B의 데이터는 한개만 가져오고 싶을 때

D3V3L0P3R 2021. 4. 27. 15:27

1 : N의 관계인 테이블 A와 B를 JOIN 할 때, 테이블 B의 데이터는 한개만 가져오고 싶을 때,

 

TABLE_A ( IDX INT, 

              NAME VARCHAR )

 

TABLE_B ( IDX INT,

              COUNT INT,

              SUBJECT VARCHAR )

 

TABLE_A

IDX NAME
1 김철수
2 나영희
3 박소영

 

TABLE_B

IDX COUNT SUBJECT
1 1 국어
1 1 영어
2 5 도덕
3 4 체육

일반적으로 JOIN을 걸게되면

SELECT A.IDX, NAME,COUNT,SUBJECT

  FROM TABLE_A AS A

  LEFT JOIN TABLE_B AS B ON A.IDX = B.IDX

 

IDX NAME COUNT SUBJECT
1 김철수 1 국어
1 김철수 1 영어
2 나영희 5 도덕
3 박소영 4 체육

 

이렇게 김철수의 SUBJECT가 두개가 나오게 된다.

여기서 김철수의 SUBJECT 중 아무거나 한개(COUNT가 같으니)만 보고싶을 경우

 

SELECT A.IDX, MAX(SUBJECT) AS SUBJECT

 FROM TABLE_A AS A

  LEFT JOIN TABLE_B AS B ON A.IDX = B.A_IDX

WHERE A.IDX = '1'

GROUP BY A.IDX

 

IDX SUBJECT
1 국어

 

참고 사이트

devriver.tistory.com/19

Comments