mysql没有东西的商品_mysql查询某一时间段内没有卖出的商品

前端时间,室友拿来一道关于mysql查询的问题:

有3张表:

1,zd_product 产品表   zp_id主键(产品id)  inputtime(产品发布时间)

2,zd_order订单表zp_id外键(产品id)zo_id主键(订单id)zo_voer_time( 订单完成时间)

3,zd_ord_pro产品订单表zo_id外键(订单id)zp_id(产品id)

问:通过这3张表查找从产品发布到“一个月内““没有”被卖出过的产品?

在这里我也不说我们是如何讨论的了,直接上思路:

1,先查找在这一月内被卖出去的产品id,查找出来的数据:data(所查表zd_order)

2,通过第一步查找出来的数据继续查询zd_order表,不过要加个not in (data)

3,通过前两步,你已经查找出来没被卖出的产品id了,接下来你想查什么就查什么。

语句:

select * from zd_product a1 left join zd_ord_pro a3 on a1.zp_id=a3.zp_id where a1.zp_id in (select zp_id from zd_order where a1.zp_id not in (select zp_id from zd_order a2 where a2.zo_voer_time>a1.inputtime and a2.zo_voer_time

该语句未验证,如有错误,请自行修改。

提示:时间相加需转换为时间戳。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值