mysql数据库关于通过查询语句出来的结果然后让它与另一个查询出来的表进行下一步动作
问题描述:
这里,我想实现的是:让表1中的查询结果与表2中的查询结果,进行一个运算(根据goosId,表1对应表2中的goosId,表1的number列去乘以表2中的sum(quantity)列,最后显示出运算后的列,即goosId列,partsId列,number*sum(quantity)列),各位前辈高手解决下,谢谢了。如下图
表1:
表2:
答
放list里两次查出来根据id比对相乘,减少数据库运算
答
可以尝试子查询,但是这种操作在代码中基本是见不到的,太消耗时间,可以先进行查询在代码中进行运算操作
答
你这两个表名都叫orderdetails?
答
可以在变异中添加一个列,然后通过联表查询得到number*sum 的值赋给添加的列不就行了,
答
利用子查询即可。
select gs.goodsid, gs.partsid, gs.number * dt.qsum as mysum from
(
select goodsid, number, partsid from goodsstructure as gs
join (selet goodsid, sum(quantity) as qsum from orderdetails group by goodsid) as dt
on gs.goodsid = dt.goodsid)
)