使用 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 客户端 ;-)
我想使用来自不同 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 客户端 ;-)