服务器之家

服务器之家 > 正文

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

时间:2020-03-12 15:29     来源/作者: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)) 


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

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

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部