SELECT a.*, (SELECT b.receiver FROM TABLE_B b WHERE b.doc_id = a.doc_id AND b.doc_no = a.doc_no AND b.route_seri = 'F1-2' ) as after_receiver FROM TABLE_A a WHERE a.rec_no = '2738'
a.route_seri 컬럼의 F1-1 값의 - 다음 부분을 2로 증가시키는 부분만 추가해주면 될 것 같습니다.
문자열 조합을 활용해야 할 거 같은데, 조언 좀 부탁드립니다.
by 부쉬맨
[2013.01.24 11:00:27]
이해가안된다..ㅠㅠ
by 깡냉E
[2013.01.24 11:03:18]
부쉬맨 // 우선 REC_NO가 2738인 모든 컬럼 값을 가져와야 하구요.
거기다가 더해서 REC_NO가 2739인 컬럼 중에 RECEIVER 컬럼만 붙여서 가져오고 싶은 거에요;;
by 부쉬맨
[2013.01.24 11:18:41]
SELECT
a.*, b.receiver
FROM TABLE_A a, TABLE_B b
WHERE a.doc_id = b.doc_id
AND a.doc_no = b.doc_no
and a.rec_no = '2738'
and b.route_seri = 'F1-2'
이렇게하면되는건가???
by 깡냉E
[2013.01.24 13:06:38]
부쉬맨 // 네, 맞습니다;;
마지막 조건에서 F1-2는 그냥 박는 게 아니라,
a.route_seri 값인 F1-1에서 - 뒤의 숫자 1을 2로 증가시킨 값을 넣어줘야 하는데..
SELECT a.*, (SELECT b.receiver FROM TABLE_B b WHERE b.doc_id = a.doc_id AND b.doc_no = a.doc_no AND b.route_seri = (select substr(a.route_seri, 1, instr(a.route_seri, '-') - 1) || '-' || TO_NUMBER(substr(a.route_seri, instr(a.route_seri, '-') + 1) + 1) from dual) ) as after_receiver FROM TABLE_A a WHERE a.rec_no = '2738'
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.