【发布时间】:2016-08-17 19:19:46
【问题描述】:
我正在尝试解决以下查询中的错误
是的,我检查了许多相同的问题,但仍然无法找出解决方案
错误:
无法绑定多部分标识符“Table_2.id”。
当我删除内部连接时,查询运行良好
我必须在不将其转换为显式联接的情况下解决此问题,因为我有很多动态过滤,它们会将 and x=y 子句添加到查询的末尾
谢谢
SELECT TOP 10 username,
NAME,
table_1.authoritylevel,
totalcount,
avglevel,
table_2.pokemonid,
pokemonlevel,
table_2.id,
pokemonexp,
battlecount,
battlevictorycount,
table_1.userid
FROM table_1,
table_2,
table_3,
table_4
LEFT OUTER JOIN (SELECT Count(table_5.offereruserid) AS OfferCount,
table_5.offereduserspokemonsid
FROM table_5
GROUP BY offereduserspokemonsid) innerQuestion
ON innerQuestion.offereduserspokemonsid = table_2.id
WHERE table_3.pokemonid = table_2.pokemonid
AND pokemonplace = 'trade'
AND table_4.pokemonid = table_2.pokemonid
AND table_2.userid = table_1.userid
AND table_2.userid != 1
【问题讨论】:
-
好吧,您了解显式连接,那么为什么要将它与隐式连接混在一起呢?此外,这将失败,因为没有
GROUP BY -
@Lamak 很好,因为它们具有相同的性能并且对我来说更容易阅读:D 它需要更少的代码行:stackoverflow.com/questions/44917/…。啊让我检查分组方式
-
Table_2 是否有
id列? -
@Lamak 是的,它确实有。更新了问题
-
哦,天哪,现在我的整个代码都无效了,sigh。
标签: sql sql-server tsql sql-server-2014