亚洲国产第一_开心网五月色综合亚洲_日本一级特黄特色大片免费观看_久久久久久久久久免观看

Hello! 歡迎來到小浪云!


如何查詢特定公司所有產(chǎn)品的最新一次檢測報告?


avatar
小浪云 2024-11-11 168

如何查詢特定公司所有產(chǎn)品的最新一次檢測報告?

多表查詢:獲取特定公司產(chǎn)品的最新一次檢測報告

在兩個表相互關(guān)聯(lián)的情況下,有時需要查詢多張表以獲取所需數(shù)據(jù)。例如,如果我們有兩張表:產(chǎn)品信息表(pro)和檢測信息表(procheck),其中 procheck 表中的 pro_id 與 pro 表中的 id 關(guān)聯(lián)。每個產(chǎn)品可能有多個檢測記錄。

問題:

如何查詢某個特定公司(pro 表中的 company_id)生產(chǎn)的所有產(chǎn)品的最新一次檢測報告?

示例查詢:

select `pro`.`id`,`pro`.`pm`,`pro`.`company_id`,procheck.id as procheck__id,procheck.pro_id as procheck__pro_id,procheck.checkdate as procheck__checkdate  from `da_pro` `pro`  left join `da_procheck` `procheck` on `pro`.`id`=`procheck`.`pro_id`  where `pro`.`company_id` = 487
登錄后復(fù)制

然而,此查詢返回了該公司的所有檢測記錄,而不是按產(chǎn)品分組的最新記錄。

解決方案:

為了獲取最新記錄,需要使用子查詢來識別每個產(chǎn)品對應(yīng)的最新檢測日期。然后,將此子查詢與原始查詢連接起來,以篩選出最新日期的記錄。

修正后的查詢:

(你的 SQL 語句) 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;
登錄后復(fù)制

此查詢將返回每個產(chǎn)品的最新檢測報告,滿足特定公司(company_id = 487)的過濾條件。

相關(guān)閱讀