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

ASP.NET GridView多表查询SQL报错:ON子句及表别名用法咨询

解决SQL JOIN语法错误及表别名使用问题

嘿,我一眼就瞅出你SQL语句里的问题啦!咱们一步步来把它修正:

问题根源拆解

你的SQL语句有两个关键错误,直接导致了“on附近出错”的问题:

  • JOIN子句的语法格式不对,ON关键字被错误地套在了括号里
  • 表别名的引用方式有误,完全没必要给别名加方括号

修正后的SQL语句

SELECT [date], [title], [description], [views], [Id] 
FROM [bookmarks] b 
JOIN [creates] c ON b.Id = c.bookmarkid 
ORDER BY [date] DESC

关键细节说明

  • JOIN语法规范:从你的语法风格来看,你应该用的是SQL Server,它的JOIN正确结构是JOIN 表名 别名 ON 关联条件,ON子句根本不需要被括号包裹,你之前加的括号就是触发错误的直接原因。
  • 表别名的使用:给表设置别名后,引用该表的列时直接用别名.列名就可以,只有当列名或表名包含特殊字符(比如空格、SQL关键字)时,才需要用方括号包裹,像b.Id这种完全不需要给别名加方括号。

如果你的bookmarkid列名也没有特殊字符,甚至可以把所有方括号都去掉,让语句更清爽:

SELECT date, title, description, views, Id 
FROM bookmarks b 
JOIN creates c ON b.Id = c.bookmarkid 
ORDER BY date DESC

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:20:24