PostgreSQL关联res_partner与parking_test表查询当日测试客户名称
错误原因
- 原SQL中
res_partner的子查询仅返回name字段,未包含关联所需的id字段,导致关联时无法识别rs.id - 关联条件错误将
parking_test表的partner_id字段写为ipartner_id parking_test的子查询未返回test_date字段,后续WHERE条件无法匹配该字段- 冗余子查询可直接省略,直接关联两表性能更优
正确SQL语句
针对「查询当日参与测试的客户姓名」需求,使用INNER JOIN关联即可满足,语句简洁高效:
SELECT rs.name, pt.partner_id FROM res_partner rs INNER JOIN parking_test pt ON rs.id = pt.partner_id WHERE pt.test_date = CURRENT_DATE;
结果验证
按照提供的样例表数据,若当前日期为2021-06-11,执行上述语句将返回预期结果XYZ1、XYZ2。
内容的提问来源于stack exchange,提问作者Shahal
相关产品推荐
相关产品推荐

