SQL JOIN语句报错:ON关键字附近语法错误求助
解决ON关键字附近的SQL语法错误
你的SQL语句存在两个语法问题,直接导致了报错:
- JOIN后的子查询缺少闭合括号,SQL解析器无法识别子查询的结束位置
- ON关联条件放置位置错误,它应该用来关联主表和子查询,而非写在子查询内部的FROM语句后
修正后的完整SQL如下:
SELECT [ITEMID], [ITEMDATAAREAID], ITEM.[ITEMGROUPID], [ITEMGROUPDATAAREAID], IG.[ITEMGROUPNAME] -- 可选:如果需要获取分组名称,记得加入查询列表 FROM [ELG_DynamicsAX_DWH].[dbo].[INVENTITEMGROUPITEM] AS ITEM JOIN ( SELECT [NAME] AS [ITEMGROUPNAME], [ITEMGROUPID] FROM [ELG_DynamicsAX_DWH].[dbo].[INVENTITEMGROUP] AS INVENTGROUP ) AS IG -- 给子查询设置别名,用于后续关联 ON IG.ITEMGROUPID = ITEM.ITEMGROUPID -- 正确放置关联条件
关键调整说明:
- 给JOIN的子查询补充了闭合括号
),同时为子查询指定别名IG(别名可自定义,只要关联时统一即可) - 将原本错误放在子查询内的ON条件,移到子查询之后,用于建立主表
ITEM和子查询IG的关联关系 - 额外补充:如果你的需求是获取物料分组名称
ITEMGROUPNAME,需要在SELECT列表中加入该字段,否则关联子查询无法拿到对应数据
内容的提问来源于stack exchange,提问作者user19845843
相关产品推荐
相关产品推荐

