2011-10-20 2 views
0

확실하지만이 오류가 나타나는 이유를 알 수 없습니다.SQL 쿼리 오류 : 여러 부분 식별자 ... 바인딩 할 수 없습니다.

"메시지 4104, 수준 16, 상태 1, 줄 1 다중 부분 식별자"dbo.ProductCode.ProductCode "를 바인딩 할 수 없습니다."

나는 각 테이블에서 "이름"열에서 많은 테이블을 기본에 가입하고 있습니다 만,이 경우에 나는

SELECT 
dbo.Servers.Name, 
dbo.ProductCodeReference.ProductName, 
dbo.Enclosure.Model, 
dbo.OperatingSystem.FullOS, dbo.OperatingSystem.osbit, 
dbo.OperatingSystem.ServicePack, dbo.OperatingSystem.Version, 
dbo.Processor.Processors, dbo.Processor.CoreCount, 
dbo.Memory.capacity, 
dbo.MarcLevel.marcLevel 
FROM dbo.Servers 

INNER JOIN dbo.ProductCodeReference 
ON dbo.ProductCode.ProductCode=dbo.ProductCodeReference.ProductCode 

INNER JOIN dbo.Enclosure 
ON dbo.Servers.Name=dbo.Enclosure.Name 

INNER JOIN dbo.OperatingSystem 
ON dbo.Servers.Name=dbo.OperatingSystem.Name 

INNER JOIN dbo.Processor 
ON dbo.Servers.Name=dbo.Processor.Name 

INNER JOIN dbo.Memory 
ON dbo.Servers.Name=dbo.Memory.name 

INNER JOIN dbo.MarcLevel 
ON dbo.Servers.Name=dbo.MarcLevel.name 

ORDER BY dbo.Servers.Name 
ProductCode.Name

에 따라 ProductCodeReference.ProductName을 ProductCode.ProductCode에 ProductCodeReference.ProductCode을 연결 당겨야

희망적으로 말이됩니다. 감사! 당신이 당신의 쿼리에서 ProductCode 테이블을 포함하는 것을 잊었다처럼

dbo.ProductCode.ProductCode 

것 같습니다 : 쿼리에 ProductCode라는에는 테이블이 없기 때문에

+0

도움이 될 경우에도 참조하십시오. http://stackoverflow.com/questions/20120081/why-am-i-getting-a-multi-part-identifier-could-not-be-bound-error/26379769#26379769 – NoNaMe

답변

4

문제는, 아래의 라인입니다.

FROM dbo.Servers 

INNER JOIN dbo.ProductCode 
ON .... = .... 

INNER JOIN dbo.ProductCodeReference 
ON dbo.ProductCode.ProductCode=dbo.ProductCodeReference.ProductCode 
+0

쉽습니다. 말이된다. 감사! –

+0

좋아요! 만족 스럽다면 답을 표시하는 것을 잊지 마십시오. –

+0

나는 그것을 받아들이 기 위해 5 분을 기다려야했다. 너희들은 너무 빨리 반응했다. –

2

이 한 줄 제외한 쿼리 어디서나 dbo.ProductCode 테이블에 대한 참조가 없습니다 :

ON dbo.ProductCode.ProductCode=dbo.ProductCodeReference.ProductCode 

그 테이블은 어딘가에 가입으로 지정해야합니다.

관련 문제