【问题标题】:Exclude all the records even if 1 value is null after left join排除所有记录,即使左连接后 1 个值为空
【发布时间】:2021-04-28 15:31:50
【问题描述】:

我有两个表 T1 和 T2,我正在进行左连接以检查 T1 中的匹配项是否在 T2 中具有所有轮次。在这种情况下,只有第 2 轮出现,所以我想忽略这场比赛,因为它没有 T2 表中的所有轮次

T1

T1.MatchID T1.RoundID
Match 1 Round 2
Match 1 Round 3
Match 1 Round 4

T2

T2.MatchID T2.RoundID
Match 1 Round 2

Left Join 后的结果

T1.MatchID T1.RoundID T2.MatchID T2.RoundID
Match 1 Round 2 Match 1 Round2
Match 1 Round 3 Null Null
Match 1 Round 4 Null Null

我想从我的结果集中排除 Match1,因为它在 T2 表中没有所有相应的回合。

【问题讨论】:

  • 检测到完全匹配时的期望结果是什么?

标签: mysql sql


【解决方案1】:

通过删除 T1.ROUNDID = T2.ROUNDID 的行,在连接两个表后从 T2 表中排除匹配项

如下所示:


DELETE FROM RESULT WHERE T1.ROUNDID = T2.ROUNDID

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 2021-08-01
    • 2017-04-14
    • 2013-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多