php中文网

如何查询某个公司生产的所有产品的最新检测报告?

php中文网

解决多表查询最新检测报告问题

问题:

需要根据产品信息表(pro)和检测信息表(procheck)查询某个公司(company_id)生产的所有产品的最新一次检测报告。现有的查询语句无法过滤出最新检测报告,导致结果过多。

解决方法:

首先,需要查询出 procheck 表中每个产品对应的最新 checkdate。可以使用以下语句:

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;

以上就是如何查询某个公司生产的所有产品的最新检测报告?的详细内容,更多请关注php中文网其它相关文章!