首页 > 解决方案 > U-SQL 根据 3 个唯一列插入现有文件中不存在的数据

问题描述

@AllData =
    SELECT DISTINCT e1.[Createddate],
                    e1.Active,
                    e1.Model
                    e1.[ID]
    FROM @searchlog1 AS e1
       LEFT  ANTISEMIJOIN
             @searchlog AS t1 
         ON
t1.Active ==e1.Active AND
t1.Model == e1.Model AND
t1.[ID] == e1.[ID];

我们希望根据 3 个唯一列插入@searchlog文件中不存在的文件中的所有数据。@searchlog1上面的查询正在生成空文件

标签: u-sqlazure-stream-analytics

解决方案


如果您想插入@searchlog 其中不存在的所有记录,@searchlog1那么只需交换您的表 - 据我所知,它们在您的原始语句中的顺序错误:

@AllData =
    SELECT DISTINCT e1.[Createddate],
                    e1.Active,
                    e1.Model
                    e1.[ID]
    FROM @searchlog AS e1
       LEFT  ANTISEMIJOIN
             @searchlog1 AS t1 
         ON
t1.Active ==e1.Active AND
t1.Model == e1.Model AND
t1.[ID] == e1.[ID];

EXCEPT不幸的是,该建议不适用于此建议,因为它要求列完全匹配,而不是原始语句中包含的四列。


推荐阅读