【发布时间】:2015-12-08 01:01:52
【问题描述】:
我不确定我是否在标题中正确地问了这个问题,但这里是正确的场景。
假设我有每天插入行的 SQL 表。在这些行中,有一列具有一组值。这意味着在此列中,我们将其称为 Source_system,我们每天会收到 20 个值。每天都有相同的不同值。现在有什么办法可以得到当天没有插入的源系统的名称吗?
编辑:抱歉英语不好。
【问题讨论】:
-
向我们展示表定义、一些示例数据和想要的结果。
-
现在有什么方法可以得到当天没有插入的源系统的名称吗? 是的。使用外连接和所有系统的列表。假设 yourTableName 具有一组完整值的示例:
Select ST.InsertedDay, B.Source_System from (Select Distinct source_System from yourTableName) B LEFT JOIN yourTableName ST on B.Source_System = ST.Source_System WHERE ST.Source_System is null -
让我解释一下这个场景。假设有一张表保存学生的出勤记录。它有 3 列,学生姓名、日期和出勤率(Y/N)。现在,只有当学生当天来时,才会为学生填写该行,否则不会在此表中插入任何内容。所以基本上我想获取在特定日期没有出现的学生的名字(那天没有插入他们的行)我希望这会有所帮助。
标签: sql missing-data insertion