2016-05-26 2 views
2

リンクサーバーを使用して複雑なクエリを実行しています。私はテストのために追跡して簡略化した問題がありました。以下の最初の2つのクエリは動作しますが、3番目のクエリは動作しません。複数のパーツIDでバインドできない

select top 10 AccountNumber 
FROM S900PVXBIDWS01.FinancialEDW.MBFI.Dim_Account 

select top 10 A.AccountNumber 
FROM S900PVXBIDWS01.FinancialEDW.MBFI.Dim_Account A 

select top 10 S900PVXBIDWS01.FinancialEDW.MBFI.Dim_Account.AccountNumber 
FROM S900PVXBIDWS01.FinancialEDW.MBFI.Dim_Account 

私は(制限が多い)理由がないため、最後のバージョンを使用する必要があります。それがはっきりとしなければならないのはなぜでしょうか?

長さの識別子の最大値は128ですと私は考えています。 SQL Server 2012を使用しています。

+0

私はなぜ第2のオプションを使用できないのか興味をそそられています。 –

+0

サーバー名の前後に大括弧を入れても機能しますか? – supergrady

+0

2番目のオプションは、列とテーブルをデータベースから取得し、テストクエリを動的に作成する一連のQAテストクエリのグループの一部であるため、使用できません。このクエリは、定期的に(EXECではなく)実行されても機能しません。クエリは非常に単純化されています(最初は7つの結合がありました)。 – user1612851

答えて

0

列参照では、4つの部分からなる名前付け(5つの部分からなる)は使用されません。 Dim_Account.AccountNumberを使用してください。うまくいくはずです。

+0

ありがとうございます。私はちょうど別のスレッドでそれを読んだ。それは単にテーブル名を使用して動作します。 – user1612851

関連する問題