2009-07-26 11 views
0

これはかなり哀れな問題です:SQL Server Compact 3.5の通常のデータセット/ TableAdaptersでのVisual Basic 2008のExpressでクエリが長すぎ、.NET 3.5およびSQLコンパクトで3.5

、私のクエリが長すぎます:

の名前を変更する、それがこのようなクエリです:

SELECT Table1.*, Table3.* 
FROM Table1 
    INNER JOIN Table2 
     ON Table1.ID = Table2.T1ID 
    INNER JOIN Table3 
     ON Table2.T3ID = Table3.PK 

問題があり、表1と表3は、むしろ説明的な名前で、約10 5列それぞれを持っている、とテーブルアダプタは、すべての列を書くにしつこいです従って私の命令をハックします。 (*を取っていない、それは常に表1を見つけることができないと言います)*

道はありますか?

+0

すべての列が必要ですか?私はむしろすべてを使用しないことを好む* – Sadegh

+0

悲しいことに、はい。たとえそれが私の運命を意味するとしても、私はすべてが必要です。 – wsd

答えて

1

テーブルのエイリアスを追加すると、テーブルアダプターはそれを受け取りますか?

SELECT t1.*, t3.* 
FROM Table1 t1 
    INNER JOIN Table2 t2 
     ON t1.ID = t2.T1ID 
    INNER JOIN Table3 
     ON t2.T3ID = t3.PK 
+0

私はそれがまだ列(t1.Column1、t1.Column2、...など)を書くだろうと思う。 – wsd

+0

はい、しかし、おそらくそれは十分短いクエリを行います。 – ZippyV

+0

良い考え方ですが、これはうまくいかない場合でもアップロードしています。なぜなら、同様の問題の可能性がありますし、その背後には良いアイデアがあるからです。 – wsd

0

ストアドプロシージャでクエリを入れて、そしてちょうどそれを呼び出します。 (よりクリーンで効率的で、アプリケーションの代わりにデータベース内のロジックをカプセル化するのに役立ちます)

+1

SQL Server Compactではストアドプロシージャがサポートされていません。 – ZippyV

+0

正確には、これはNo-Noです。 – wsd

関連する問題