如何查詢某個(gè)公司生產(chǎn)的所有產(chǎn)品的最新檢測(cè)報(bào)告?

如何查詢某個(gè)公司生產(chǎn)的所有產(chǎn)品的最新檢測(cè)報(bào)告?

解決多表查詢最新檢測(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)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊6 分享