Mysql 如何将结果乘以另一个表中的特定值?
我问题的简化。假设我有这些桌子: 供应:Mysql 如何将结果乘以另一个表中的特定值?,mysql,Mysql,我问题的简化。假设我有这些桌子: 供应: supplyName:VARCHAR(20),只是办公用品的名称。说钢笔 quantityPerBox:INT,一个盒子中供应的数量 方框: supplyName:VARCHAR(20),供应的名称,引用供应表 numBoxes:INT,供应的箱子数 基本上我想做的是: SELECT supplyName, numberOfSupply GROUP BY supplyName 从这些桌子上。但我希望numberOfSupply是quantity
- supplyName:VARCHAR(20),只是办公用品的名称。说钢笔
- quantityPerBox:INT,一个盒子中供应的数量
- supplyName:VARCHAR(20),供应的名称,引用供应表
- numBoxes:INT,供应的箱子数
SELECT supplyName, numberOfSupply GROUP BY supplyName
从这些桌子上。但我希望numberOfSupply是quantityPerBox*NumberOxes
这可以作为一个查询来完成吗?或者我需要用某种语言(例如PHP)将供应表中的数量存储在程序中并在那里进行计算吗?(或者将计算作为查询的一部分真的没有好处吗,即使这是可能的?)
提前谢谢你的帮助。非常感谢。这当然可以在查询中完成,而无需单独存储该值,或使用其他语言:
SELECT s.supplyName, s.quantityPerBox * b.numBoxes AS NumberOfSupply
FROM Supply AS s
INNER JOIN Boxes AS b ON s.supplyName = b.supplyName
您可能希望将
SupplyId
添加到这两个表中,但这样您就有了一个整数值要JOIN
打开:比在VARCHAR
字段上尝试JOIN
更有效。另一个好处是,如果您曾经想要更改项目的supplyName
,那么如果您是通过ID而不是表中的值引用表,那么在进行更改时就不必担心外键问题。啊,我现在明白了。和往常一样,我想得太多了。非常感谢你为我指明了正确的方向。我让它工作了。