mysql如何查询某一时间段内没有卖出的商品

   2015-11-06 0
核心提示:室友拿来一道关于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<a1.inputtime+30))

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

提示:时间相加需转换为时间戳。
 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

点击排行