2011-10-20 16 views
0

これは明らかですが、なぜ私はエラーが発生しているのかわかりません。SQLクエリエラー:複数の部分の識別子...バインドできませんでした

"メッセージ4104、レベル16、状態1、行1 マルチパート識別子" dbo.ProductCode.ProductCode "はバインドできませんでした。

私は各テーブルに「名前」欄に多くのテーブルベースに参加していますが、この場合には、私はProductCode.ProductCodeにProductCodeReference.ProductCodeをリンクしてProductCode.Name

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 
に基づいてProductCodeReference.ProductNameをプルする必要があります

うまくいけばそれは理にかなっています。ありがとう!あなたのクエリで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

は、この1行を除いて、クエリ内のどこdbo.ProductCodeテーブルへの参照はありません:

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

そのテーブルには、どこかのJOINで指定する必要があります。

関連する問題