0

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

假设我有两张桌子 A 和 B:

一个

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

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

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

NEWCOLUMN(放入B表)=数量/(尺寸*包装*数量)

并将结果显示在表 B 的新列中。

我试图离开加入两个表,以便将所有列放入一个表中,但我不知道从那里去哪里。另外,我的 PK 确实很有价值,我想我必须添加一个 FK 才能使其工作?

这是我到目前为止的一个示例:

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

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

4

2 回答 2

0

这是数学运算的 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`

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

PS请在将来提供一个sqlfiddle,它会有所帮助。

于 2015-05-11T04:43:10.863 回答
0

你试过吗?

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

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

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

于 2015-05-11T04:43:52.673 回答