chengaezakmi
chengaezakmi
采纳率71.4%
2017-11-01 07:29 阅读 4.0k

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

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

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

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

    点赞 评论 复制链接分享
  • chinarealone 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)
    )

    点赞 1 评论 复制链接分享
  • Oh_my_godness Oh_my_godness 2017-11-01 08:27

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

    点赞 评论 复制链接分享
  • Elion_jia Churchill_Jia 2017-11-01 08:28

    你这两个表名都叫orderdetails?

    点赞 评论 复制链接分享
  • yeyuhui94267 yeyuhui94267 2017-11-01 14:36

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

    点赞 评论 复制链接分享

相关推荐