我似乎无法查询我的查询问题。我有四张桌子:
agency_info
equipment_taken
equipment_weight
mission_overview
在mission_overview中是一列totalWeightInKG
,我希望通过选择equipment_taken.qty
(即INT)和equipment_weight.equipWeightInKG
(即FLOAT)来计算,然后将它们相乘。
到目前为止,我有这个列定义:
FLOAT GENERATED ALWAYS AS (SELECT qty, equpWeightInKG, (qty*equpWeightInKG) AS totalWeightInKG FROM equipment_taken, equipment_weight) STORED ;
我无法理解它...阅读有关SELECT查询和加入的文档,但仍然无法提出正确的查询...
答案 0 :(得分:2)
https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html说:
不允许使用子查询,参数,变量,存储函数和用户定义函数。
要执行您尝试执行的操作,您必须在INSERT之前和UPDATE之前编写触发器以查询其他表并填充浮动列。