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

MySQL跨表条件查询:获取表A中符合规则的id_product及date记录

MySQL跨表查询满足指定条件的记录

解决方案SQL

SELECT a.id_product, a.date
FROM tableA a
LEFT JOIN tableB b ON a.id_product = b.id_product
WHERE b.id_product IS NULL 
   OR a.date <> b.date;

逻辑拆解

  • 用LEFT JOIN关联表A和表B,确保表A的所有记录都被保留
  • b.id_product IS NULL:匹配表A中id_product不存在于表B的记录(对应规则1)
  • a.date <> b.date:匹配id_product存在于表B,但表A与表B的date值不同的记录(对应规则2)

结合示例数据验证

表A原始数据:

id_product,date
3, 2022-07-19
4, 2022-07-20
5, 2022-07-20

表B原始数据:

id_product,date
3, 2022-07-20
5, 2022-07-20

执行SQL后的正确结果:

id_product,date
3, 2022-07-19
4, 2022-07-20

注:你提供的期望结果中id_product=3的date值为2022-07-20是笔误,该值属于表B中的记录,表A中符合条件的对应记录是3, 2022-07-19

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 09:33:15