2011-12-05 5 views
2

これは質問が得られるほど簡単だと確信していますが、私は素早く対応したいと思っていました。 OLEDB接続を使用して、私はselect文を実行したいが、私が選択しているテーブルについては、テーブルメンバーもそこにいなければならず、結果が乱れるようだ。メンバーが関わったときの簡単なselectステートメント

通常、私はコラム「COL1」を取得するために書くでしょう:私は、テーブルには「submember」を持っているからの情報を必要とする表について

SELECT lib1.table.col1 FROM lib1.table 

を。私は構文を集めてきたものから、このようなものです:

SELECT lib1.table(submember).col1 FROM lib1.table(submember) 

問題は結果が私に、テーブル内のすべての列だけでなく、私の「COL1」データを与えているということです。私はこれが私が探しているものについて十分に説明されていることを願っています。助けてくださった方々のお時間をありがとうございます。

+0

なぜvb.netとvbaのタグはありますか?これらは完全に異なる2つの言語/技術です。 –

+0

これはOLEDB接続が行われている場所です –

+0

VB.NETアプリケーションとVBAアプリケーションはどちらも同じselect文を使用していますか? –

答えて

1

あなたはQTEMPALIASを作成することができるはず別名

+0

テーブルを作成するために私のサーバーにアクセスできない。他のアイデア? –

+0

私の知る限り、これは唯一の選択肢です。私は6.1または7.1が何を提供できるのか分からない。 –

+0

これは実際に私がやったこと(多かれ少なかれ)です。すべてのあなたの助けをありがとう –

2

上で選択を行うその後

をlibrary.table(メンバー)のエイリアスlibrary.aliasnameを作成します。

CREATE ALIAS QTEMP.TABLE FOR LIB1.TABLE (SUBMEMBER) 

そして、一時的に作成されたエイリアスをクエリします。

SELECT COL1 FROM QTEMP.TABLE 

接続が終了すると自動的に削除されます。

+0

合意して、これらの種類の一時的な 'エイリアス'を 'QTEMP'で作成します(ジョブ単位の完全認可スクラッチディレクトリに相当します)。あなたの接続ジョブがそれにアクセスできない場合は、とにかくあらゆる種類のトラブルを起こすでしょう... –