简化我的问题。说我有这些表:
供应:
箱:
基本上我想要的是:
SELECT supplyName, numberOfSupply GROUP BY supplyName
从这些表中。但是我想numberOfSupply是quantityPerBox * numBoxes。
这可以作为查询完成吗?或者我是否需要以某种语言(例如PHP)将来自Supply表的数量存储在程序中并在那里进行计算? (或者作为查询的一部分进行计算确实没有任何好处,即使它可能吗?)
提前感谢您的帮助。很感激。
答案 0 :(得分:1)
这当然可以在查询中完成,而无需单独存储该值,或使用其他语言:
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
的整数值:比在JOIN
字段上尝试VARCHAR
更有效。另一个好处是,如果您想要更改项目的supplyName
,则在进行更改时,如果您按ID而不是表中的值引用表,则不必担心外键问题。 / p>