데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

테이블 정보는 다음과 같습니다:


테이블 2개 : table test1, table test2

컬럼(필드) :

table test1 - b_number, title, make_name, year1, year2, year3, sp_book, c_no(join 값)

table test2 - auth_name, auth_name_year, c_title, g_no, c_no(join 값)


위에서도 언급했지만, c_no값이 두 테이블을 연결하는(조인하는) 컬럼입니다.

이해하기 쉽게 테이블 test1을 책 제목을 입력하는 테이블로, 테이블 test2를 책에 있는 세부 목록을 입력하는 테이블로 이해하시면 편하겠습니다.


test1에 초기 입력 시 책제목(title), 출판사(make_name), 출판년도 등을 입력하는데(year1), year2와 year3는 미입력 상태입니다.

test2에서는 해당 책에 대한 저자(auth_name), 저자 출생년도(auth_name_year), 소제목(c_title) 등을 입력합니다.


test1에서는 한 권의 책에 대해 한 번 입력이 원칙이지만, 예외적으로 책의 분량 상 2번 이상으로 입력하는 경우도 있습니다.
만약 한 권의 책을 임의로 2권으로 나누었다면, 테이블에 2번을 입력하게 됩니다. 제목을 입력하는 형태는 다음과 같습니다.
(예 : XXXX(2-1), XXXX(2-2)...)

만약 동일한 책을 나누어 입력하면 첫 번째 sp_book값은 1이 되고, 두 번째 sp_book값은 2가 되고, 레코드는 2개가 됩니다.

책을 나누어 입력했지만, 결국 동일한 책을 분량상 임의로 나누어 입력한 것이므로 DB상에서는 같은 책으로 인식합니다.

즉, sp_book값만 다르고 b_number값은 동일합니다.

다시 정리하자면, 전체 두 권의 책이 있다고 가정했을 때, 하나는 책의 분량상 두개로 나누어 입력을 해야하고(XXXX(2-1), XXXX(2-2)),
한 권은 나누지않고 입력할 경우, 총 table1에서의 레코드 수는 3개가 됩니다.


테이블 구조는 다음과 같습니다.


<test1>


b_number     title       make_name     year1     year2     year3     sp_book     c_no(table2와 join 값)
-----------------------------------------------------------------------------------------------------
 0001       제목1(2-1)    OOO          2000        null        null           001          001
 0001       제목1(2-2)    OOO          2000        null        null           002          002
 0002       제목2            XXX          2010        null        null           001          003


<test2>
    
auth_name     auth_name_year     c_title     g_no     c_no(table1과 join 값)
------------------------------------------------------------------------------------
     저자1         19600423            생활1        001      001
     저자2         19740817            생활2        002      001
     저자3         19690711            생활3        003      001
     저자4         19710609            생활4        004      002
     저자5         19750715            생활5        005      002
     저자6         19670227            생활6        006      003   


여기서 질문 드리겠습니다.


test1에서 b_number값이 0001인 year2값에 test2에 있는 auth_name_year값 중 '1960(저자출생년도 최소값 중 앞 4자리)'을 year2값에,
'1975(저자출생년도 최대값 중 앞 4자리)'을 year3에 넣고, b_number값이 0002인 year2값에는 test2에 있는 '1967', year3값에는 '1967'값을 넣고 싶습니다. 즉, test1에서의 b_number값이 같으면 year2와 year3에 동일한 값을 넣고자 합니다.


쿼리나 프로시저로 가능할 지 궁금합니다.


답변주시면 감사하겠습니다.^^


No. Subject Author Date Views
8290 MSSQL 소수점 자리수 질문드립니다. [4] 지에나르 2014.10.21 25648
8289 PK 중복 키 문제 입니다.. [1] 바보쿠우 2014.10.21 2416
8288 초보자 한가지 질문있습니다. [5] 곰요 2014.10.21 2767
8287 개체 탐색기에서 SSMS 에서 로그인한 계정 DB만 보이게 하는 방법이 없나요? AceCarrot 2014.10.20 3335
8286 varchar 형 insert 할때 질문입니다. [2] 희망나라 2014.10.20 2450
8285 mssql 2008 설치문의드립니다. 빡끄쎄엠 2014.10.20 3246
8284 쌩초보의 연산 질문 입니다. [2] 익스 2014.10.20 2542
8283 MSSQL 2008 R2 버전의 DB 최대용량 제한이 있나요? [5] 냠냠10 2014.10.19 8673
8282 고수님만.. [1] 토깽이 2014.10.19 2086
8281 SQL 합계 여쭤봅니다. [1] 뵴뵴 2014.10.19 2482
8280 순위 및 중복제거 쿼리 문의드립니다. [2] 김미영_279087 2014.10.17 3304
8279 GROUP BY중 특정 칼럼만 말일값을 가져올 수 있을련지. [2] redfunky 2014.10.16 2609
8278 DB 복사 시 복사본에 삭제된 데이터 유지가 가능한가요? [1] 조굴 2014.10.16 2417
8277 윈도우7 64비트 2008 설치문의..ㅠㅠ 빡끄쎄엠 2014.10.16 2471
8276 Insert 쿼리 속도에 대해서 좀 여쭙겠습니다 (_ _) ADA 2014.10.15 3240
8275 구분자로구분되어있는 필드 합치려고 하는데 [1] fame 2014.10.15 1814
8274 쿼리 조언좀 부탁드립니다! [1] 검마혈 2014.10.15 1951
8273 외래키 UPDATE 질문 있습니다. [2] Juventus 2014.10.15 4638
» 쿼리나 프로시저 작성 부탁드립니다. [1] 얼음왕자 2014.10.15 2598
8271 비교제외 하는 조인문 질문 입니다. [6] ssunsori 2014.10.15 2764





XE Login