0

我对 MySQL 的了解非常有限,所以我希望我不是在问一个非常愚蠢的问题。

我试图做的是计算一个字段的值除以另外两个字段的乘积。

就像是:

(sum(salesorderlinedetail.rate) / (salesorderlinedetail.metalweight) * 
(salesorderlinedetail.spotprice) AS `Premium`

这可能看起来像原始数字是:

850 / (1646 * 0.5) = 1.03281

我试图使该结果显示为查询返回的每一行数据的另一列。

我猜这可能需要某处的子选择语句。

4

3 回答 3

1

让我们以您的“原始数字”示例为例,简单地进行替换(提示:都在括号中):

850 / (1646 * 0.5)
850  ==> salesorderlinedetail.rate
1646 ==> salesorderlinedetail.metalweight
0.5  ==> salesorderlinedetail.spotprice

salesorderlinedetail.rate / ( salesorderlinedetail.metalweight * salesorderlinedetail.spotprice)

不需要 SUM(),因为这会引入不分青红皂白的聚合(除非您尚未与我们分享详细信息 :-)

于 2012-08-29T05:49:19.383 回答
0

select column1, column2, (sum(salesorderlinedetail.rate) / (salesorderlinedetail.metalweight * salesorderlinedetail.spotprice) AS Premium from salesorderlinedetail;

于 2012-08-29T05:53:22.003 回答
0

试试这个

select column1,column2,(    
UPDATE TableName 
SET Column2 = sum(salesorderlinedetail.rate) / ((salesorderlinedetail.metalweight) *   (salesorderlinedetail.spotprice)) from TableName; 
于 2012-08-29T05:42:02.557 回答