$a="SELECT a.*,b.point_name FROM table_a a INNER JOIN table_b b ON a.table_b_idx=b.idx ORDER BY idx ASC "
이 쿼리문으로 point_name 이라는 필드를 table_a에 합쳤습니다.
table_a
| idx | b_idx | sort |
| 1 | 1 | 4 |
| 2 | 2 | 5 |
table_b
| idx | point_name | total_cnt |
| 1 | 3 | 5 |
| 2 | 4 | 5 |
그 후에 table_a의 sort 값을 기준으로 하여 table_b의 point_name=3 인것 4인것을 각각 구하려고 하는데 조인문으로 테이블을 합쳤는데
그 테이블 을 활용해서 쿼리를 어떻게 쓸수있을까요 아니면 조인문을 씀과동시에 거기서 바로 조건을 걸어서 뽑아낼수가있나요?
where b.point_name in (3, 4)
이렇게 넣으시거나
inner join table_b b on a.b_idx = b.idx and b.point _name in (3, 4)
이렇게 하시면 되겠습니다.
감사합니다!
1. "SELECT *" 사용 지양, 필요한 항목 명확하게 기술
2. "sort" 등 시스템 예약어를 명칭으로 사용 지양, 다른 이름 사용
3. 조건은 WHERE 절에서 처리
4. Basic SQL 강좌 : http://gurubee.net/oracle/sql
5. Select 문 : http://gurubee.net/lecture/1017
SELECT a.idx
, a.b_idx
, a.sort
, b.point_name
FROM table_a a
INNER JOIN table_b b
ON a.b_idx = b.idx
WHERE b.point_name IN ('3', '4')
ORDER BY idx
;
네 말씀하신대로 쿼리문 짤때 생각하면서 해보겠습니다 감사합니다!