【发布时间】:2017-10-25 15:54:45
【问题描述】:
我正在尝试查询数据在 4 个表中的位置:
TAFCBHISTPED = NUPED, DTEMIS
TAFGRPROD = CDGRPR, DSGRPR
TAFPROD = CDPROD, CDGRPR
TAFITHISTPED = NUPED, CDPROD, QTPED
我当前的查询如下所示:
SELECT
TAFCBHISTPED.NUPED,
TAFCBHISTPED.DTEMIS,
TAFGRPROD.CDGRPR,
TAFGRPROD.DSGRPR,
TAFPROD.CDPROD,
TAFPROD.CDGRPR,
TAFITHISTPED.NUPED,
TAFITHISTPED.CDPROD,
TAFITHISTPED.QTPED
FROM
dbo.TAFCBHISTPED -- table1
INNER
JOIN dbo.TAFITHISTPED -- table2
ON TAFCBHISTPED.NUPED = TAFITHISTPED.NUPED
LEFT
JOIN dbo.TAFPROD -- table3
ON TAFGRPROD.CDGRPR = TAFPROD.CDGRPR
但是我得到以下错误:
SQLState: 42000 Error Code: 4104 Message:
[Microsoft] [ODBC Driver 13 for SQL Server] [SQL Server]
The multipart identifier "TAFGRPROD.CDGRPR" can not be associated.
【问题讨论】:
-
Stack Overflow 的主站点只有英文版,试试Stack Overflow em Português
-
欢迎来到 SO。这个网站是一个英文网站,所以请编辑你的问题,用英文解释你的问题是什么。否则我们将无法为您提供帮助
-
您的查询仅引用 3 个表 - 因此您不能包含第四个表中的列而不加入它或以某种方式使用子查询。由于您尝试将第四个表中的列包含在选择列表中,因此您似乎需要加入该表。如何做到这一点取决于架构中的关系。
标签: sql sql-server sql-server-2008 sql-server-2012