程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql如何查詢某一時間段內沒有賣出的商品

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))

該語句未驗證,如有錯誤,請自行修改。

提示:時間相加需轉換為時間戳。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved