Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- blog
- 델파이
- TMS
- pythonanywhere
- Visual Studio
- 백준
- HTML
- advColumnGrid
- COMMIT
- rank
- c#
- python3
- hackerrank
- queryset
- 중복제거
- declare
- pyhcarm
- Django
- github
- PyCharm
- Delphi
- Push
- MSSQL
- templates
- delphi 10.3
- python 3.7
- dbadvgrid
- GIT
- get_object_or_404
- anaconda3
Archives
- Today
- Total
DevHyun
1 : N의 관계인 테이블 A와 B를 JOIN 할 때, 테이블 B의 데이터는 한개만 가져오고 싶을 때 본문
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 | 국어 |
참고 사이트
Comments