![](/img/trans.png)
[英]MySQL: How can I select a value (date) based on a result from another table and include it in said result?
[英]How can I multiply a result by a specific value from another table?
我的问题的简化。 说我有这些表:
供应:
盒:
基本上我想做的是:
SELECT supplyName, numberOfSupply GROUP BY supplyName
从这些表。 但我希望numberOfSupply是quantityPerBox * numBoxes。
可以作为查询吗? 还是我需要以某种语言(例如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而不是表中的值来引用表,则不必担心外键问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.