[英]KQL query to only join tables with a column value
If my query is returning:如果我的查询返回:
Id ID | Column1专栏1 | Column2专栏2 |
---|---|---|
123 123 | Value价值 | |
123 123 | Value价值 | |
456 456 | Value价值 | |
456 456 | Value价值 |
and I have a second query that returns:我有第二个查询返回:
Id ID | Column3专栏3 |
---|---|
123 123 | 50 50 |
456 456 | 75 75 |
How can I join the two querys by Id without the Column3 value appearing for every row where an Id is present - rather, for every row where it is present AND has a value only in Column1.我如何通过 Id 加入两个查询,而不为存在 Id 的每一行显示 Column3 值 - 相反,对于它存在的每一行并且仅在 Column1 中具有值。 For example:例如:
Id ID | Column1专栏1 | Column2专栏2 | Column3专栏3 |
---|---|---|---|
123 123 | Value价值 | 50 50 | |
123 123 | Value价值 | ||
456 456 | Value价值 | 75 75 | |
456 456 | Value价值 |
You can calculate Column3
using the case()
function with the logic you've described.您可以使用case()
Column3
和您描述的逻辑来计算 Column3 。
For example:例如:
let q1 = datatable(Id:long, Column1:string, Column2:string)
[
123, 'Value', '',
123, '', 'Value',
456, 'Value', '',
456, '', 'Value',
]
;
let q2 = datatable(Id:long, Column3:long)
[
123, 50,
456, 75,
]
;
q1
| join kind=inner q2 on Id
| project Id, Column1, Column2, Column3 = case(isempty(Column1), long(null), Column3)
Id ID | Column1专栏1 | Column2专栏2 | Column3专栏3 |
---|---|---|---|
123 123 | Value价值 | ||
123 123 | Value价值 | 50 50 | |
456 456 | Value价值 | ||
456 456 | Value价值 | 75 75 |
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.