我是从多个来源捕获数据与Azure事件中心和发送到。这些源有一些共同的数据点。例:

如何在这些多个数据集中识别公共数据?
发布于 2021-09-22 16:12:33
据我所知,多个来源都是在一个事件中心摄取的?我猜想有一个字段SourceId允许识别数据点来自哪里?
如果是这样的话,您可以使用通用表表达式(WITH)对这些源进行范围分析,并在它们之间使用加入。
WITH
SourceA AS (
SELECT * FROM Input WHERE SourceId = 'A'
),
SourceB AS (
SELECT * FROM Input WHERE SourceId = 'B'
)
SELECT
A.*,
B.*
FROM A
LEFT JOIN B
ON A.[Pnr NO] = B.[Pnr NO]
AND DATEDIFF(second,A,B) BETWEEN 0 AND 60注意,这不是一个通用的模式。它解决了一个特定的业务问题,在这个问题中,我们需要在B (FROM A LEFT JOIN B)中为A找到一个匹配事件,这在接下来的60秒(DATEDIFF(second,A,B) BETWEEN 0 AND 60)中发生。
这里有要应用的很多不同的模式,这取决于您要构建的特定场景。对于一些人来说,应该使用分析函数(如最后的)而不是联接。
如果你详细说明你的需要,我也许能找到正确的模式。
https://stackoverflow.com/questions/69278204
复制相似问题