【发布时间】:2018-01-17 16:46:36
【问题描述】:
对于下面的查询
SELECT TOP 1000 tb.firstName
,tb.secondName
,tb.startYear
,nb.primaryName
,tr.averageScore
,tr.numVotes
,g.subjectDescription
,tb.isActive
FROM team_basics tb
,ground g
,info_basics nb
INNER JOIN title_ground tg ON tb.ident = tg.ident
INNER JOIN name_title nt ON tb.ident = nt.ident
LEFT JOIN title_ratings tr ON tb.ident = tr.ident
WHERE nb.nconst = nt.nconst
AND tg.groundId = g.groundId
ORDER BY tr.averageScore DESC
,tb.startYear DESC;
我收到以下错误:
The multi-part identifier "tb.ident" could not be bound.
之前这些是隐式连接,但试图解决我将它们更改为显式内部连接,但我仍然收到此错误。接下来我可以尝试什么?
【问题讨论】:
-
这个错误告诉你你的表 tb (team_basics) 没有 'ident' 字段
-
正确使用
JOIN -
您正在混合使用 2 种不同的表格连接方式。仅使用显式 JOIN。
-
Bad habits to kick : using old-style JOINs - 旧式 逗号分隔的表格列表 样式已替换为 ANSI 中的 proper ANSI
JOIN语法-92 SQL 标准(25 多年前),不鼓励使用它
标签: sql tsql sql-server-2014