查找删除违规记录的SQL连接示例(行删除行清理SQL连接)
所讨论的SQL引擎是SSMS(SQLServerManagementStudio V18.5),尽管我怀疑该版本是否与此查询相关 我有一个表a,它是一个信息源。还有一个表B,它是一个复杂查询X的结果日志,其中包含大约六个联接。工具处理该查询的输出以在外部工具中完成工作,然后将这些工作细节记录到表C中 因此,我们:查找删除违规记录的SQL连接示例(行删除行清理SQL连接),sql,sql-server,left-join,inner-join,record,Sql,Sql Server,Left Join,Inner Join,Record,所讨论的SQL引擎是SSMS(SQLServerManagementStudio V18.5),尽管我怀疑该版本是否与此查询相关 我有一个表a,它是一个信息源。还有一个表B,它是一个复杂查询X的结果日志,其中包含大约六个联接。工具处理该查询的输出以在外部工具中完成工作,然后将这些工作细节记录到表C中 因此,我们: 表A:数据源 Complex-Query-X:产生工作项列表的多连接查询(表A是其众多来源之一) 表B:Complex-Query-X随时间的输出结果列表 表C:Complex-Qu
- 表A:数据源
- Complex-Query-X:产生工作项列表的多连接查询(表A是其众多来源之一)
- 表B:Complex-Query-X随时间的输出结果列表
- 表C:Complex-Query-X中已执行工作的工作项列表、已完成工作、工作结果等
我还想到,我年纪大了,可能缺少了一些明显的东西,我应该只向我的大连接查询添加数据,因此我在这里进行查询(例如,这样就不需要删除)。这就是我犹豫的地方吗?答案是一系列选项,我从中选择了第三个选项:
- 限制原始查询,使“要删除的数据”在核心查询运行后不存在——考虑到数据的组合方式(数十万行,大约七(7)个源),该选项有点复杂,但至少是可以想象的
- 查询联接结构中的一个左联接条件,它在不匹配的行上强制使用空键标识符(使使用该查询的工具很容易忽略它们)
- 自动删除目标行的where子句——这是最简单的,并且至少在与其他两个查询选项的分析中表现相对较好——因此,如上所述,这实际上是我们选择的方向,还有一个左连接,原因在这里将不详细说明
不管怎么说,这类问题实际上更具学术性,不需要硬性的例子,我的意思是,如果我站在读者的立场上,如果我有选择的话,我自己会更喜欢一个例子。事实上,我确实为最终培养我最终选择的政党制定了一个快速路线模式,但即使是这样,我也不愿意在公共环境中发布。你能添加一些示例数据吗?你有没有考虑过在WHERE子句中使用NOT EXISTS({MATCHINE CONDICTION in Table-C})呢?很抱歉,我不被允许。谢谢你的反馈,我们的最终选择和最终选择。请参阅了解如何使用@x通知一位非唯一非海报评论者x回复评论者。