Как использовать псевдоним таблицы в запросе KQL

Я хочу выбрать несколько столбцов в нескольких временных таблицах. Итак, мне нужно выбрать столбцы с псевдонимом таблицы в KQL.

Пример в ANSI SQL:

Select a.col1,b.col2 from a inner join b on a.id = b.id

Пример в KQL:

let TableA = external_table('table1')
| take 100
let TableB = external_table('table2')
| take 100 
TableA
| join kind=inner (TableB) on id
| project TableA.id,TableB.col2

Я столкнулся с ошибкой, как показано ниже:

Как я могу изменить запрос KQL, чтобы устранить эту ошибку. Выбор нескольких столбцов из нескольких таблиц в KQL.

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
284
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы пробовали это:

РЕДАКТИРОВАТЬ 1

let TableA = external_table('table1')
  | take 100
  | project TableAId = id, TableACol2 = col2;
let TableB = external_table('table2')
  | take 100
  | project TableBId = id, TableBCol2 = col2;
TableA
  | join kind=inner (TableB) on $left.TableAId == $right.TableBId
  | project TableAId, TableBId, TableACol2, TableBCol2

Здесь вы явно переименовываете столбцы идентификаторов, чтобы повторно использовать их в результирующем JOIN.

Обычно общие столбцы получают разные имена, например id2 и col22 или что-то в этом роде. Тогда вы можете ссылаться на эти новые имена.

decius 24.05.2024 09:24

Я попробовал, но некоторые имена столбцов являются общими для обеих таблиц. Поэтому мне также нужно указать имя таблицы

Rasith 24.05.2024 09:27

Как я уже сказал, имена столбцов, общие для обеих таблиц, будут переименованы, например, id2 и т. д. Когда вы выполняете запрос без строки проекта, вы можете видеть эти имена и ссылаться на них. TableA.Id не работает.

decius 24.05.2024 09:29

@Rasith Я изменил свой пост, добавив немного больше деталей. Просто спроецируйте это так, как я показал в своем посте. Затем вы можете повторно использовать все проецируемые имена столбцов.

decius 24.05.2024 11:57

Спасибо, что ответили на мой вопрос и поддержали.

Rasith 24.05.2024 16:48

Другие вопросы по теме