0

我正在为营销公司建立一个网站。根据他们的要求,当客户进行预订时。一定数量的奖金会根据员工的等级分配给员工。分配从预订后的 60 天开始,奖金为 24 个月。

这些表是

预订

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 视图进行更新的解决方案。任何提示都会有很大帮助。

4

2 回答 2

0

通过将预订日期与今天的日期进行比较,出价和过滤器的内部联接仅包括符合条件的奖金。如果今天的日期比原书日期晚不到 60 天或超过 24 个月加 60 天,则将其排除。(你可以去 mySQL.com 了解更多关于如何在 mySQL 中操作日期。我忘了……)

您将留下多行,其中仅包含 emp id 和 amount。在第二轮中,使用“select sum(amount) from (...put your other query here...) group by empid”来获得每位员工的总奖金。

这种方法(我认为任何解决方案)都需要一个嵌套的 SQL 语句,因此如果您对该语法不满意,您可以使用该术语在 google 或 SO 中进行探索。干杯!

于 2012-06-16T06:05:03.350 回答
0

而不是视图,我建议编写 mysql 函数,该函数将通过接受员工 ID 返回奖金。

使用 mysql 函数,您将有更多的空间来编写逻辑和 PL/SQL。

于 2012-06-16T06:05:48.533 回答