Kusto KQL эквивалентно предложению with

Я пытаюсь найти альтернативу MySQL (v8) с предложением.

У меня есть длинный запрос, в котором используется предложение with для псевдонима некоторого результата.

with top5 as (
        SELECT ....
) 
SELECT .... from top5 
UNION ALL .... from top5

Я пытаюсь найти эквивалент предложения with в Kusto KQL.

Любая помощь будет оценена по достоинству.


person sheldonzy    schedule 03.02.2020    source источник


Ответы (2)


Вот пример для let, ограниченного табличным набором результатов:

let Top5 = StormEvents | top 5 by StartTime;
Top5
| union StormEvents
| take 10

Вы также можете использовать оператор as, чтобы назвать подпрограмму запрос и использовать его позже, например:

MyLogTable  
| where type == "Event"
| as T
| where Name == "Start"
| join (
    T
    | where Name == "Stop"
) on ActivityId 
person Avnera    schedule 03.02.2020
comment
Спасибо! Похоже, мне не хватало того факта, что у меня было две новые строки между определением Top5 и использованием, а KQL этого не понял. - person sheldonzy; 03.02.2020
comment
KQL отлично справляется с пробелами и пустыми строками, вам просто нужно обязательно выбрать их в редакторе. Автоматический выбор текста запроса редактором основан на границах пустых строк. - person Avnera; 04.02.2020

Я думаю, что инструкция let - это то, что вы ищете: https://docs.microsoft.com/en-us/azure/kusto/query/letstatement#using-materialize-function

person silent    schedule 03.02.2020