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

多条件关联两张表遇SQL语法错误,求正确实现方法

关联两张表的正确SQL写法

你的核心问题是SQL语句结构错误:JOIN子句必须放在FROM和WHERE之间,不能将WHERE条件写在JOIN前面,同时子查询语法也存在问题。以下是两种直接关联的正确写法:

写法一:JOIN后统一添加过滤条件

直接将两张表的过滤条件整合到WHERE子句中,逻辑清晰直观:

SELECT t.`ID`, t.`Serial Number`, o.`24V Supply (V)`
FROM `Test Results` t
JOIN `Test 3 Output` o ON t.`ID` = o.`ID`
WHERE LEN(t.`Serial Number`) = 16 
  AND t.FailMode = '24V Supply FAIL'
  AND o.`24V Supply (V)` < 30

写法二:用子查询预过滤目标表

先筛选出Test 3 Output中符合条件的记录,再和Test Results关联,和你之前两个单独查询的逻辑完全匹配:

SELECT t.`ID`, t.`Serial Number`, o.`24V Supply (V)`
FROM `Test Results` t
JOIN (
    SELECT `ID`, `24V Supply (V)`
    FROM `Test 3 Output`
    WHERE `24V Supply (V)` < 30
) o ON t.`ID` = o.`ID`
WHERE LEN(t.`Serial Number`) = 16 
  AND t.FailMode = '24V Supply FAIL'

补充说明:

  • 两种写法均可得到你需要的「ID、序列号、测试值」结果集;
  • 如果需要保留Test Results中符合条件但Test 3 Output无匹配的记录,可将JOIN替换为LEFT JOIN;
  • SQL的执行逻辑是FROM→JOIN→WHERE→SELECT,必须严格遵循这个顺序,你的原写法颠倒了WHERE和JOIN的位置,导致语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 20:35:18