2012-06-16 3 views
0

마케팅 회사 용 웹 사이트를 구축 중입니다. 고객의 요구 사항에 따라 고객이 예약을 할 때. 계층 구조가 인 직원간에 일정 금액의 보너스가 배포됩니다. 배급은 예약 후 60 일부터 시작되며 보너스는 로 24 개월 동안 제공됩니다.월별 보너스를 생성하는 MySQL보기

테이블은

예약

bid  book_date 
1  2012-05-09 
2  2012-05-10 

보너스

bid empid amount 
1  1  300 
1  2  400 
2  2  300 
2  3  400 

매월 발생 MySQL의 뷰를 작성하는 것이 가능 보너스는 매월 이됩니다. mysql 뷰를 사용하여 업데이트하는 방법에 대한 해결책을 찾지 못했습니다. 힌트는 큰 도움이 될 것입니다.

답변

0

도서 및 날짜를 ​​오늘 날짜와 비교하여 적합한 보너스 만 포함하도록 입찰 및 필터에 내부 참여하십시오. 오늘 날짜가 24 일이 지난 후 또는 24 일을 초과하여 원래의 서적 날짜 이후 60 일이 아닌 경우 제외하십시오. (mySQL.com에서 날짜를 조작하는 방법에 대해 자세히 알고 싶다면 잊어 버려 ...)

emp id와 amount 만 포함 된 여러 행이 남게됩니다. 두 번째 라운드에서는 "select sum (amount from) (... 다른 쿼리를 여기에 입력하십시오 ...) group by empid"를 사용하여 직원 당 총 보너스를받습니다.

이 접근법 (그리고 어떤 해결책이라 생각합니다.)은 중첩 된 SQL 문을 필요로합니다. 따라서 해당 구문을 사용하기가 쉽지 않은 경우 해당 용어를 사용하여 Google 또는 SO에서 탐색 할 수 있습니다. 건배!

+0

감사합니다.하지만 나 같은 초보자에게는 어려울 것입니다. – user1460163

0

보기 대신, 직원 ID를 수락하여 보너스를 반환하는 mysql 함수를 작성하는 것이 좋습니다.

mysql 함수를 사용하면 로직 및 PL/SQL을 작성할 공간이 늘어납니다.

+0

그걸 조사해야 할 것입니다. 고맙습니다. – user1460163