chengaezakmi
2017-11-01 07:29
采纳率: 71.4%
浏览 4.1k

mysql数据库关于通过查询语句出来的结果然后让它与另一个查询出来的表进行下一步动作

这里,我想实现的是:让表1中的查询结果与表2中的查询结果,进行一个运算(根据goosId,表1对应表2中的goosId,表1的number列去乘以表2中的sum(quantity)列,最后显示出运算后的列,即goosId列,partsId列,number*sum(quantity)列),各位前辈高手解决下,谢谢了。如下图

表1:
图片说明
表2:
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • MAYHENG 2017-11-01 09:11
    已采纳

    放list里两次查出来根据id比对相乘,减少数据库运算

    点赞 评论
  • Oh_my_godness 2017-11-01 08:27

    可以尝试子查询,但是这种操作在代码中基本是见不到的,太消耗时间,可以先进行查询在代码中进行运算操作

    点赞 评论
  • Churchill_Jia 2017-11-01 08:28

    你这两个表名都叫orderdetails?

    点赞 评论
  • yeyuhui94267 2017-11-01 14:36

    可以在变异中添加一个列,然后通过联表查询得到number*sum 的值赋给添加的列不就行了,

    点赞 评论
  • chinarealone 2017-11-03 02:34

    利用子查询即可。
    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)
    )

    点赞 评论

相关推荐 更多相似问题