使用 MySQL 的数学运算

Mathematical operations using MySQL

我想使用来自不同 table 的不同列进行一些数学运算。

假设我有两个 tables A 和 B:

一个

Value        Size    Pack    
-----------------------------------------
234567       10      1      
234589       20      1       
234561       30      2    

B

Value        Quantity   Amount   
-----------------------------------------
234567       5          200       
234589       10         300      
234561       8          150  

现在我想知道如何进行以下操作:

NEWCOLUMN (placed into B table) = Amount / (Size * Pack * Quantity)

并在 table B 中的新列上显示结果。

我试图左连接两个 table 以便将所有列合并为一个 table 但我不知道从那里去哪里。另外,我的 PK 确实很有价值,我想我必须添加一个 FK 才能让它发挥作用?

这是我目前所拥有的示例:

SELECT * 
FROM `B` 
LEFT JOIN `A` 
ON `B`.`Value`=`A`.`Value`

我尝试在多个网站上对此进行研究,但找不到明确的答案。

这是数学运算的 Select 语句。工作示例:http://sqlfiddle.com/#!9/83e52/7

#Table A is Test, Table B is Test1

SELECT Test.Value, (Test1.Amt / (Test.Size * Test.Pack * Test1.Qty)) as New_Column
FROM `Test1` 
LEFT JOIN `Test` 
ON `Test1`.`Value`=`Test`.`Value`

如果您发现结果正确,则使用插入语句将这些值插入到 Table B 中的列中。

P.S。以后请提供sqlfiddle,有帮助。

你试过了吗?

SELECT *, (`B`.`Amount` / (`A`.`Size` * `A`.`Pack` * `B`.`Quantity`)) as `NEWCOLUMN`
FROM `B` 
LEFT JOIN `A` 
ON `B`.`Value`=`A`.`Value`

NEWCOLUMN 不会是 table B 中的 "new column",但您会在结果中获得预期的值。将它存储在一个列中没有任何意义(实际上我想知道为什么你首先有 2 tables)。

它也不特定于 SequelPro,它只是一个 MySQL 客户端 ;-)