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

如何在JOIN条件中使用IN子句?查询语法报错求解

你的SQL语句问题分析
  • 语法可行性:只要comeColumn是someTable里真实存在的列,这条语句语法上是合法的,能正常执行,但逻辑大概率不符合你的预期。
  • 核心逻辑问题:当前LEFT JOIN只限定了t2的列条件,没添加t1和t2的关联字段(比如t1.id = t2.related_id这类关联逻辑),执行后会是t1中ID为248、226的每一行,都和t2里所有comeColumn为9或8的行做笛卡尔积,返回大量冗余数据。
  • 修正方向:如果是要做自关联查询,需要补上关联条件,示例如下:
SELECT t1.* 
FROM someTable t1 
LEFT JOIN someTable t2 ON t1.ID = t2.parent_id AND t2.comeColumn IN (9, 8) 
WHERE t1.ID in (248, 226)
  • 额外提醒:检查下comeColumn是不是拼写错误?比如是不是想写someColumn?要是列名写错了,肯定会触发语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 17:39:54