[解決済み] マルチパート識別子」とは何ですか、なぜバインドできないのですか?
質問
別のテーブルを基にテーブルを更新しようとすると、常にこのようなエラーが発生します。結局、クエリを書き直し、結合の順序を変え、グループ化を変更して、最終的にはうまくいくのですが、どうも腑に落ちません。
マルチパート識別子」とは何ですか?
マルチパート識別子」はどのような場合にバインドできないのですか?
何にバインドされるのですか?
どのような場合にこのエラーが発生するのでしょうか?
対策はどのようなものがありますか?
SQL Server 2005の具体的なエラーは。
マルチパート識別子 "..." をバインドできませんでした。
以下はその例です。
UPDATE [test].[dbo].[CompanyDetail]
SET Mnemonic = [dbBWKMigration].[dbo].[Company].[MNEMONIC],
[Company Code] = [dbBWKMigration].[dbo].[Company].[COMPANYCODE]
WHERE [Company Name] = **[dbBWKMigration].[dbo].[Company].[COMPANYNAME]**
実際のエラーです。
Msg 4104, Level 16, State 1, Line 3 The multi-part identifier "dbBWKMigration.dbo.Company.COMPANYNAME"を結合できませんでした。
解決方法を教えてください。
マルチパート識別子とは、フィールドやテーブルに複数のパートを含む記述のことで、たとえば MyTable.SomeRow のように、バインドできない場合は、単純なタイプミスか、テーブルとカラムが混同されているなど、何か問題があることを意味します。 また、テーブル名やフィールド名に予約語を使用し、[]で囲んでいない場合にも発生することがあります。 また、ターゲット・テーブルに必要なカラムがすべて含まれていない場合もあります。
のようなものです。 レッドゲート・プロンプト は手動で入力する手間を省いてくれる優れものですが(外部キーに基づく結合も自動で完了します)、無料ではありません。 SQL server 2008では、redgateバージョンほど完全ではありませんが、intellisenseを最初からサポートしています。
関連
-
[解決済み】マルチパート識別子をバインドできませんでした。
-
[解決済み] 指定されたスキーマにテーブルが存在するかどうかを確認する方法
-
[解決済み] SQLサーバーでNULL = NULLがfalseに評価される理由
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] varcharとnvarcharの違いは何ですか?
-
[解決済み] 複数の列でgroup byを使用する
-
[解決済み] INNER JOINよりもCROSS APPLYを使用すべきなのはどのような場合ですか?
-
[解決済み] 各グループの上位1行を取得
-
[解決済み] DISTINCTでCOUNT(*)を選択する
-
[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ERROR 1136 (21S01) を解決してください。列の数が Mysql の行 1 の値の数と一致しません。
-
[解決済み] SQL Server FOR EACH ループ
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] 各GROUP BYグループの最初の行を選択しますか?
-
[解決済み] テーブルネーミングのジレンマ:単数形と複数形の名前【非公開
-
[解決済み] SQL Serverでシングルクォートをエスケープするにはどうすればよいですか?
-
[解決済み] NOT IN vs NOT EXISTS
-
[解決済み] フラットテーブルをツリーにパースする最も効率的/エレガントな方法は何ですか?
-
[解決済み] DISTINCTでCOUNT(*)を選択する
-
[解決済み] T-SQL文の接頭辞Nの意味と使うべきタイミングは?