来自Alias的U-SQL Intellisense

时间:2016-10-28 19:43:02

标签: azure-data-lake u-sql

如果我在U-SQL中使用别名,则intellisense不会提示我任何事情。例如,

@query =
  SELECT PropertyOne,
         PropertyTwo
  FROM @some_table;

@intellisense_test =
  SELECT PropertyOne
    FROM @query;

在这种情况下,intellisense将起作用。但在下面的例子中它不会。

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

除了简单的查询之外,这会产生一个问题。有谁知道这方面的工作?

2 个答案:

答案 0 :(得分:0)

这是intellisense的典型“SQL”问题。由于intellisense解析器只能使用已经看到的绑定,因此它在SELECT子句中不知道FROM子句包含的内容。我让他们检查是否有办法在SELECT案例中展望FROM子句,但现在不幸的是它没有。

答案 1 :(得分:0)

当我在FROM子句中有几个连接时,我找到了解决这个问题的工作。

如果你立即写下别名后跟一个方括号,则intellisense会从别名表中返回字段列表。

例如:

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

这在编写语句时起作用,并且对于键入速度很方便。但是,您需要返回并在别名和字段之间添加点,否则您将收到编译错误。使用鼠标按住ALT键进行垂直高光时,也可轻松完成此操作。

不完美,但这是一项有效的解决方法。

希望这有帮助。