You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询event_service全量记录并关联appointment_feedback表,无匹配则显示Null

解决方案:用LEFT JOIN实现保留左表全量记录的关联查询

你需要的是左连接(LEFT JOIN),这种连接方式会确保event_service(左表)的所有记录都被返回:当appointment_feedback(右表)存在匹配的记录时,会显示对应的fd_comment值;没有匹配项的话,该字段就显示NULL,完美契合你的需求。

正确的SQL查询语句

SELECT 
    es.evsr_id,
    es.evsr_ev_id,
    es.staff_id,
    af.fd_comment
FROM event_service es
LEFT JOIN appointment_feedback af 
    ON es.evsr_ev_id = af.fd_app_id;

关键说明

  • LEFT JOIN的作用:和内连接(INNER JOIN)不同,它不会过滤掉左表中没有匹配右表的记录,这正是你需要保留event_service所有2条记录的核心原因
  • 关联条件:es.evsr_ev_id = af.fd_app_id是两张表的关联依据,从你的数据来看,evsr_ev_id和fd_app_id的值都是101,是正确的关联字段
  • 表别名:用es指代event_service、af指代appointment_feedback,让SQL代码更简洁易读

执行这条语句后,就能得到你想要的结果:

evsr_ev_idstaff_idfd_comment
1011test
1012null

如果你之前用的是INNER JOIN,那只会返回两张表都匹配的那条记录(也就是第一条),这就是为什么你没得到预期结果的问题所在。

内容的提问来源于stack exchange,提问作者varun joshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:11:25