직급별 단가 테이블
직급 기간 시간 일 월
사원 2011-01-01 ~ 2011-12-31 1,000 8,000 16,000
대리 2011-01-01 ~ 2011-12-31 2,000 16,000 32,000
차장 2011-01-01 ~ 2011-12-31 3,000 24,000 48,000
부장 2011-01-01 ~ 2011-12-31 4,000 32,000 64,000
사원 2012-01-01 ~ 2012-12-31 2,000 10,000 36,000
대리 2012-01-01 ~ 2012-12-31 4,000 26,000 52,000
차장 2012-01-01 ~ 2012-12-31 5,000 34,000 68,000
부장 2012-01-01 ~ 2012-12-31 6,000 42,000 94,000
사원 2013-04-01 ~ 2014-03-31 3000 14000 36,000
대리 2013-04-01 ~ 2014-03-31 4000 25000 52,000
차장 2013-04-01 ~ 2014-03-31 5000 32000 68,000
부장 2013-04-01 ~ 2014-03-31 6000 43000 94,000
직원별 업무시간 테이블
직급 이름 일정 workTime
대리 A 2011-01-21 4h
대리 A 2011-01-23 5h
대리 A 2011-01-24 8h
사원 B 2011-01-24 8h
대리 C 2011-01-24 8h
대리 A 2012-01-24 8h
사원 B 2012-01-24 8h
대리 C 2012-01-24 8h
이렇게 두개의 테이블이 있을 경우
직급 이름 일정 workTime 단가
대리 A 2011-01-21 4h 2,000
대리 A 2011-01-23 5h 2,000
대리 A 2011-01-24 8h 2,000
사원 B 2011-01-24 8h 1,000
대리 C 2011-01-24 8h 2,000
대리 A 2012-01-24 8h 4,000
사원 B 2012-01-24 8h 2,000
대리 C 2012-01-24 8h 4,000
이렇게 단가가 나오게 적용이 가능할까요? 년도별로 되어있으면 그나마 괜챦을거 같은데요...
기준기간이 2013-04-01 ~ 2014-03-31로 해가 넘어가는 경우도 있어서.... 구간으로 메칭을 시켜야해서...
방법이 있을까요?
Comment 1
-
맨즈밤
2013.08.20 14:51
원하시는게 이거 맞으신지....
CREATE TABLE 단가_T
( 직급 VARCHAR(10),
기간_FR DATE,
기간_TO DATE,
시간 MONEY)
CREATE TABLE 업무시간_T
( 직급 VARCHAR(10),
이름 VARCHAR(10),
일정 DATE,
WORKTIME INT )
INSERT 단가_T VALUES ('사원','2011-01-01','2011-12-31',1000)
INSERT 단가_T VALUES ('대리','2011-01-01','2011-12-31',2000)
INSERT 단가_T VALUES ('차장','2011-01-01','2011-12-31',3000)
INSERT 단가_T VALUES ('부장','2011-01-01','2011-12-31',4000)
INSERT 단가_T VALUES ('사원','2012-01-01','2012-12-31',2000)
INSERT 단가_T VALUES ('대리','2012-01-01','2012-12-31',4000)
INSERT 단가_T VALUES ('차장','2012-01-01','2012-12-31',5000)
INSERT 단가_T VALUES ('부장','2012-01-01','2012-12-31',6000)
INSERT 단가_T VALUES ('사원','2013-04-01','2014-03-31',3000)
INSERT 단가_T VALUES ('대리','2013-04-01','2014-03-31',4000)
INSERT 단가_T VALUES ('차장','2013-04-01','2014-03-31',5000)
INSERT 단가_T VALUES ('부장','2013-04-01','2014-03-31',6000)
INSERT 업무시간_T VALUES ('대리','A','2011-01-21',4)
INSERT 업무시간_T VALUES ('대리','A','2011-01-23',5)
INSERT 업무시간_T VALUES ('대리','A','2011-01-24',8)
INSERT 업무시간_T VALUES ('사원','B','2011-01-24',8)
INSERT 업무시간_T VALUES ('대리','C','2011-01-24',8)
INSERT 업무시간_T VALUES ('대리','A','2012-01-24',8)
INSERT 업무시간_T VALUES ('사원','B','2012-01-24',8)
INSERT 업무시간_T VALUES ('대리','C','2012-01-24',8)
SELECT T1.*,T2.시간
FROM 업무시간_T T1
INNER JOIN 단가_T T2
ON T1.직급=T2.직급 AND T1.일정 BETWEEN T2.기간_FR AND T2.기간_TO