查询以获取sqlite中的当前剩余库存

查询以获取sqlite中的当前剩余库存,sqlite,Sqlite,我有一个名为stock的表: name stock ------------ a 100 b 200 c 50 和销售表 name sale -------------------- a 30 c 20 d 30 结果应该是: name stock ----------------- a 70 b 200 c 20

我有一个名为
stock
的表:

name   stock
------------
 a      100
 b      200
 c       50
销售

  name      sale
 --------------------
    a       30
    c       20
    d       30
结果应该是:

name      stock
-----------------
   a       70
   b      200
   c       20
   d      -30
请告诉我这个的sqlite查询

我的问题是:

select a.name, a.stock - b.sales as stock 
from stock as a 
inner join Sale as b on a.name = b.name

但是,如何获得那些库存中不存在但销售中存在的名称呢?

我相信以下内容可以满足您的要求:-

SELECT name, sum(stock) - sum(sold) FROM
(
    SELECT name, sold, 0 as stock FROM sales
    UNION ALL
    SELECT name, 0 AS sold, stock FROM stock
)
GROUP BY name
ORDER BY name
基本上,内部SELECT提取一个表,每个组合有3列“名称”、“销售”和“库存”,缺少的值为0。i、 e:-

然后将其用作外部选择的来源,根据名称选择分组,将销售额和库存相加,然后根据以下内容从库存中减去销售额:-


这需要一个新的解决方案。请以SQLite语法提供您的表,即“创建…”和一些“插入…”。然后展示你尝试过的,并解释你不满意的地方。谢谢你提醒我。我的错误。请使用SQLite语法的示例数据,如果您这样做,而不是期望回答者出于测试目的这样做,您会发现更有利的反应。