问一个多表查询的简单问题?-灵析社区

刘传疯子

有两张表,分别储存产品信息与检测信息 检测信息表procheck中pro_id关联到产品信息表pro中的id,每个产品对应有多个检测信息记录 我现在需要把某个公司(产品表中company_id)生产的所有产品的最新一次检测报告调出来? 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 但是得出的结果却是: ![image.png](https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20250121/1fc0154e7d3cecbee677766287c8508b.png) 全部给我找了出来,而我真正需要的是箭头上的三条即可。 求SQL语句.....

阅读量:442

点赞量:13

问AI
代码日记
先查询出procheck表里每个产品对应最新的checkdate,再拿你的结果连接一下作筛选 (你的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;