mysql - 合并多个查询 - 同一表

标签 mysql sql join

我有 1 个名为 itemmovement 的表:它有 Item Id 、 Quantity In 、 Quantity Out 、 Invoice Id 、 Date 。我需要在一个查询中显示已售出多少件,并且在已售出列旁边将显示当前的现有数量。

元素移动

Id   itemid      qtyin     qtyout    invid    purchasereturnid          date
1     1            10                                                2019-01-04
2     2            8                                                 2019-01-06
3     2                      2         1                             2019-01-08
4     1                      3         2                             2019-01-12
5     2            1                                                 2019-02-04
6     3            4                                                 2019-03-04
7     1                      1         3                             2019-04-04
8     1                      1                      1                2019-04-14
9     3                      1                      2                2019-04-24

I need the query to show this result

Id   itemid      Sold Quantity   OnHandQty
1     1               4             5
2     2               2             7
3     3               0             3

I'm Trying to use this query but not working

SELECT *
FROM
  (SELECT itmv.itemid,
          sum(itmv.qtyout)-sum(itmv.qtyin)
   FROM itemmovement itmv
   WHERE (itmv.systemdate BETWEEN '2019-01-01' AND '2019-06-01')
     AND invid>0
   GROUP BY itmv.itemid) AS result1,

  (SELECT sum(itmv2.qtyin)-sum(itmv2.qtyout)
   FROM itemmovement itmv2
   WHERE itmv.itemid=itmv2.itemid
   GROUP BY itmv2.itemid) AS result2
ORDER BY sum(itmv.qtyin)-sum(itmv.qtyout)

我得到:

Unknown column 'itmv.itemid' in 'where clause it for this syntax :

where itmv.itemid = itmv2.itemid

最佳答案

这是您的查询。

select itemid
    , sum(case when COALESCE(invid,0) > 0 then qtyout else 0 end) as Sold_Qantity
    , sum(qtyin)-sum(qtyout) as OnHandQty
from itemmovement
group by itemid

关于mysql - 合并多个查询 - 同一表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58074102/

相关文章:

mysql - mysql插入一张表后如何更新到另一张表

mysql - 使用求和和连接进行查询

r - data.table 中的等值联接和滚动联接

PHP、MySQL 查询总是返回 1?

sql - 具有存储库模式的抽象

php - 如何自动删除数据库中存在一个月的mysql记录

c# - Membership provider用还是不用?

mysql - 带条件计数并连接

php - mysqli_query() : Empty query in/home/trainman/public_html/Register. php 第 26 行

mysql - 2 用一个变量查找条件