解決多表查詢最新檢測報告問題
問題:
需要根據產品信息表(pro)和檢測信息表(procheck)查詢某個公司(company_id)生產的所有產品的最新一次檢測報告?,F有的查詢語句無法過濾出最新檢測報告,導致結果過多。
解決方法:
首先,需要查詢出 procheck 表中每個產品對應的最新 checkdate??梢允褂靡韵抡Z句:
select pro_id, max(checkdate) as max_checkdate from procheck group by pro_id
登錄后復制
然后,將上述語句作為一個子查詢,與原始查詢語句連接,按照 pro_id 和 checkdate 進行篩選,即可得到最新檢測報告:
(原始查詢語句) t1 JOIN ( SELECT pro_id, MAX(checkdate) AS max_checkdate FROM procheck GROUP BY pro_id ) t2 ON t1.procheck__pro_id = t2.pro_id AND t1.procheck__checkdate = t2.max_checkdate;
登錄后復制