u-sql - 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];
@searchlog1
是旧文件@searchlog
是新文件
我们希望根据 3 个唯一列插入@searchlog
文件中不存在的文件中的所有数据。@searchlog1
上面的查询正在生成空文件
解决方案
如果您想插入@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
不幸的是,该建议不适用于此建议,因为它要求列完全匹配,而不是原始语句中包含的四列。
推荐阅读
- django - 错误:来自 django oauth2 服务器的“unsupported_grant_type”
- python - 克隆 Git 存储库后如何避免添加到系统路径
- mysql - 包括与 IN() 子句不匹配的行
- spring-data-jpa - Spring 数据规范 orderBy 子查询
- ionic-framework - 如何在 Ionic 中接受比特币付款
- sql-server - SQL 到 IBMDB2 的语法问题
- report - 请求的响应在 newman 的 json 报告中显示为空
- javascript - 元素 UI 自动完成没有结果
- android - 视频链接在 Android Webview 中无法流畅播放视频
- php - shell_exec 返回 NULL 但在 shell 中工作