0

U-SQL でエイリアスを使用すると、インテリセンスは何も要求しません。例えば、

@query =
  SELECT PropertyOne,
         PropertyTwo
  FROM @some_table;

@intellisense_test =
  SELECT PropertyOne
    FROM @query;

この場合、インテリセンスは機能します。しかし、以下の例ではそうではありません。

@intellisense_test = 
  SELECT q.PropertyOne 
    FROM @query AS q;

これは、単純なクエリ以外を実行するときに問題を引き起こします。誰かがこれを回避する方法を知っていますか?

4

2 に答える 2

0

FROM 句に複数の結合があるときに、これを回避する方法を見つけました。

エイリアスの直後に角かっこを記述した場合、インテリセンスはエイリアス テーブルからフィールド リストを返します。

例えば:

@intellisense_test = 
  SELECT q[PropertyOne]
FROM @query AS q;

これは、ステートメントを書くときに機能し、タイピングの速度に役立ちます。ただし、戻ってエイリアスとフィールドの間にドットを追加する必要があります。そうしないと、コンパイル エラーが発生します。これは、ALT キーを押しながらマウスで垂直方向のハイライトを行うときにも簡単に実行できます。

完全ではありませんが、有効な回避策です。

お役に立てれば。

于 2016-11-10T09:39:03.807 に答える
0

これは、インテリセンスの典型的な「SQL」の問題です。インテリセンス パーサーは、既に確認されているバインディングしか使用できないため、SELECT 句では FROM 句に何が含まれているかわかりません。SELECT の場合に FROM 句を先読みする方法があるかどうかを確認するように依頼しましたが、残念ながら今のところありません。

于 2016-10-31T20:08:11.943 に答える