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

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

컬럼 값 비교

퀸동 2013.04.25 11:38 Views : 7557

안녕하세요

질문 하나 드립니다.


ID     BuildID    RID             BEGIN              END     POWER    SPOWER       Result

23     124         2001   2013-04-04    2013-04-05    5                 8                  0

27     124         2001   2013-04-04    2013-04-05    5                 0                  0

30     124         2002   2013-04-04    2013-04-05    5                 15               0

96     124         2001   2013-04-04    2013-04-05    0                 8                  0

99     124         2003   2013-04-04    2013-04-05    5                 7                  0



이런 식의 데이터가 있을 때 POWER 와 SPOWER에 대한 문제입니다.

POWER 는 SPOWER에서 빠지는 겁니다. 행마다.. 행은 현재 5개이지만 10개도 될 수 있고 20개도 될 수 있고 더 작아질수도 있습니다.

물론 필드 값 또한 틀려지겠지요.


ID 23에서 SPOWER - POWER 하면 SPOWER는 3이 남는데 이 3으로 아래 27행에서 다시 SPOWER - POWER를 해야합니다.

SPOWER가 POWER 보다 작을 시는 건너띄고 다음 행에서 SPOWER가 클 경우 빼주는 형식입니다.


결과는 

ID     BuildID    RID             BEGIN              END     POWER    SPOWER      Result

23     124         2001   2013-04-04    2013-04-05    5                 3                  1

27     124         2001   2013-04-04    2013-04-05    5                 0                  0

30     124         2002   2013-04-04    2013-04-05    5                 0                  1

96     124         2001   2013-04-04    2013-04-05    0                 8                 0

99     124         2003   2013-04-04    2013-04-05    5                 7                  0 


추가 : POWER는 일의 양이고 SPOWER는 체력이라 할 수 있습니다.

SPOWER에서 POWER를 차례로 없애주는 거죠.

8 - 5 = 3

위의 남은 3 - 5 = 패스

위의 남은 15 - 5 = 10

위의 남은 10 - 5 = 5

위의 남은 5 - 5 = 0


그래서 ID96와 ID99는 아무런 짓도 안해도 되는거구요.


이런 쿼리가 while문을 돌리지 않고 가능한가요?

가능하다면 샘플링 좀 부탁드립니다.

No. Subject Author Date Views
6731 그룹 쿼리의 경우 어떻게 해야 하나요? [1] 강구다.. 2013.04.26 6081
6730 데이터 복구 문의 [4] 까칠한용이 2013.04.26 6649
6729 초당 쿼리수 [2] 퀸동 2013.04.25 12760
6728 cursor대신 while문을 사용할 경우에 어떻게 하는 것이 좋을까요 [1] 후룩후룩 2013.04.25 8510
6727 Merge Into 성능관련 문의 [1] 메칸더 2013.04.25 14336
6726 DW의 수집, 통합영역 구분 김기현742 2013.04.25 5814
6725 오라클 날짜함수 (휴일제외한 날짜계산) [1] 착한이 2013.04.25 33027
» 컬럼 값 비교 [1] 퀸동 2013.04.25 7557
6723 SQL Server 로그 [2] 전념 2013.04.25 7098
6722 CPU 50% 사용하고 메모리는 오히려 사용하지 않습니다. [7] 연구중 2013.04.24 7415
6721 재등록] MSCS 노드 추가시 다운타임 발생유무 질문 [4] heesy 2013.04.24 6952
6720 Job 실행 시 로그인 매핑 문제 이성주_300701 2013.04.24 13909
6719 이전행과의 내용이 같을 경우... [3] 메칸더 2013.04.23 9134
6718 설문조사 관련 통계 쿼리 여쭙고 싶습니다 Hakuna Matata 2013.04.23 8385
6717 대용량 DB 성능 향상을 위한 방안 질문 좀 드려요~~ [6] 케빈느 2013.04.23 6434
6716 ldf 파일 용량을 축소 하였습니다. 그런데 원리가.. [2] 호짱 2013.04.23 7754
6715 서버안의 모든 DB와 설정내역을 한번에 백업해서 다른서버에 복구할 수 있나요? [2] 아더왕 2013.04.23 8689
6714 인서트 작업이 됐다가 안됐다가 하는 경우도 있나요? [2] 카루카루 2013.04.23 6537
6713 mdf, ndf와 ldf를 추가 하고자 합니다. [1] 호짱 2013.04.23 6424
6712 로그파일이 크면 데이터베이스 분리 작업이 한시간 이상 걸릴 수 있나요? [2] MySql00 2013.04.23 5622





XE Login