请教一个MYSQL数据查询问题

发布于 2021-12-02 03:30:43 字数 1226 浏览 811 评论 0

先说明下情况

我有一张商品表store_goods和一张盘点单据表store_check_stock_goods

盘点表的存储方式是,一个商品信息存两行,一行是添加时的库存,一行是盘点数,通过type区分,type=0是添加时库存,type=1是盘点数

数据表:

idbill_id(单据ID)goods_idstocktype
11110(添加时库存)0
2118(盘点数)1

现在我要获取单据列表了,并且按有无库存差异获取,就是他store_check_stock_goods里type=1里的stock去跟商品表的stock比较后获取

我查询的语句 是这样的:

select `id`,
       `bill_id`,
       `goods_id`,
       `stock`,
       `type`
  from `store_check_stock_goods`
 where `bill_id`= 1
   and exists(
select 1
  from `store_goods`
 where store_goods.id= store_check_stock_goods.goods_id
   and store_check_stock_goods.type= 1
   and store_check_stock_goods.stock<> store_goods.stock)
 order by `goods_id` desc,
         `id` desc
 limit 20 offset 0;

返回的结果是,如果有数据时只返回type=1的数据,我的需求是type=0的也要返回,就是说:只要这个商品符合要求就要把两条数据都返回 !请问要怎么改呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文