如何在触发器中放置IF条件以计算列的值

用户名
CREATE TABLE IF NOT EXISTS `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ia_att` decimal(3,2) NULL,
  `t1` decimal(3,2) NULL,
  `t2` decimal(3,2) NULL,
  `t3` decimal(3,2) NULL,
  `ia_tot` decimal(3,2) NULL,
  .....
  .....
  PRIMARY KEY (`id`),
);   

上表中有更多的列,但是我固定了这些列的计算,我需要的计算是

  • 如果ia_att列大于> 95,则value = 5;
  • 如果> 80 <95,则值= 4;
  • 如果> 75 <80,则值= 3;
  • 如果> 60 <75,则值= 2;-如果它小于60,则值= 0;

我必须从三个列t1,t2,t3中选取2个最佳值。并将这两个大值相加并除以“ 2”。然后将ia_att中的值相加,结果应放在ia_tot列中。“以上所述的计算应在每次向这些列输入新条目时进行。”
例子认为

ia_att = 72 
t1 = 18
t2 = 15
t3 = 20
然后{[(18 + 20)/ 2] + 2} = 21;

18和20是来自t1,t2,t3的两个大值,来自ia_att。

PLZ帮助我在mysql中进行上述计算。

术语

您的触发器可能看起来像

CREATE TRIGGER tg_bi_test
BEFORE INSERT ON test
FOR EACH ROW
  SET NEW.ia_tot = 
     (NEW.t1 + NEW.t2 + NEW.t3 -
      LEAST(NEW.t1, NEW.t2, NEW.t3)) / 2 + 
     CASE 
       WHEN NEW.ia_att > 95 THEN 5
       WHEN NEW.ia_att BETWEEN 81 AND 95 THEN 4
       WHEN NEW.ia_att BETWEEN 76 AND 80 THEN 3
       WHEN NEW.ia_att BETWEEN 61 AND 75 THEN 2
       WHEN NEW.ia_att < 60 THEN 2
     END;

发行结果

INSERT INTO test (ia_att, t1, t2, t3) VALUES (72, 18, 15, 20);

将会

| ID | IA_ATT | T1 | T2 | T3 | IA_TOT |
| ---- | -------- || ---- | ---- | ---- | -------- |
| 1 | 72 | 18 | 15 | 20 | 21 |

这是SQLFiddle演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在触发器中放置多个更新?

来自分类Dev

如何在目录上放置触发器

来自分类Dev

如何在python中放置计算器的输入检查?

来自分类Dev

使列始终包含没有触发器的计算值

来自分类Dev

如何在SQL查询中放置条件

来自分类Dev

如何在触发器PostgreSQL中存储值

来自分类Dev

如何使用触发器根据日期更改列值?

来自分类Dev

如何在标签中放置滑块值?

来自分类Dev

如何在标签中放置滑块值?

来自分类Dev

如何在FluidRow列中放置按钮

来自分类Dev

如何在一个触发器内放置多组方程

来自分类Dev

MySQL如何在触发器失败时将字段重置为具有触发器的旧值?

来自分类Dev

如何获取触发器的插入值

来自分类Dev

如何在 php 的响应式 WYSIWYG 文本编辑器中放置默认值

来自分类Dev

如何在Odoo 8中为计算字段设置存储触发器?

来自分类Dev

如何在aspx mvc4中放置影响列值的if-else语句

来自分类Dev

如何在角度数据绑定中放置条件?

来自分类Dev

如何在触发器功能或条件中获取更新语句

来自分类Dev

如果触发器中存在条件,如何在MySQL表中插入记录

来自分类Dev

如果触发器中存在条件,如何在MySQL表中插入记录

来自分类Dev

如何在Android的微调器中居中放置文本

来自分类Dev

如何在Android的“编辑”框中放置跟踪器

来自分类Dev

如何在CSS not()选择器中放置多个类?

来自分类Dev

创建条件触发器

来自分类Dev

如何在h:commandLink值中放置图像而不是文本

来自分类Dev

如何在单个输入字段中放置%和值

来自分类Dev

如何在h:commandLink值中放置图像而不是文本

来自分类Dev

如何在ajax url中放置'id'值?

来自分类Dev

如何在选项标签中放置包含空格的值?

Related 相关文章

热门标签

归档