解決多表查詢最新檢測(cè)報(bào)告問題
問題:
需要根據(jù)產(chǎn)品信息表(pro)和檢測(cè)信息表(procheck)查詢某個(gè)公司(company_id)生產(chǎn)的所有產(chǎn)品的最新一次檢測(cè)報(bào)告。現(xiàn)有的查詢語句無法過濾出最新檢測(cè)報(bào)告,導(dǎo)致結(jié)果過多。
解決方法:
首先,需要查詢出 procheck 表中每個(gè)產(chǎn)品對(duì)應(yīng)的最新 checkdate。可以使用以下語句:
select pro_id, max(checkdate) as max_checkdate from procheck group by pro_id
然后,將上述語句作為一個(gè)子查詢,與原始查詢語句連接,按照 pro_id 和 checkdate 進(jìn)行篩選,即可得到最新檢測(cè)報(bào)告:
(原始查詢語句) 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;
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END