sql - 排除出现在不同表中的值
问题描述
我想根据 userId 排除 Table1 中的所有属性并出现在 Table2 中,如给定示例中所示,条件是 Table1 中项目的 EventTime 小于 Table2 中的 EventTime
表格1:
╔════════╦═══════════════════════╗
║ UserId ║ EventTime ║
╠════════╬═══════════════════════╣
║ 1 ║ 2/15/2012 11:53:16 AM ║
║ 2 ║ 2/16/2012 11:53:20 AM ║
║ 3 ║ 2/16/2012 11:54:01 AM ║
║ 4 ║ 2/16/2012 11:05:03 PM ║
║ 5 ║ 2/16/2012 11:09:03 PM ║
╚════════╩═══════════════════════╝
表2:
╔════════╦═══════════════════════╗
║ UserId ║ EventTime ║
╠════════╬═══════════════════════╣
║ 1 ║ 2/15/2012 11:54:16 AM ║
║ 2 ║ 2/16/2012 11:55:20 AM ║
║ 3 ║ 2/16/2012 11:56:01 AM ║
╚════════╩═══════════════════════╝
输出:
╔════════╦═══════════════════════╗
║ UserId ║ EventTime ║
╠════════╬═══════════════════════╣
║ 4 ║ 2/16/2012 11:05:03 PM ║
║ 5 ║ 2/16/2012 11:09:03 PM ║
╚════════╩═══════════════════════╝
解决方案
您可以使用except
:
select t1.*
from table1 t1
except
select t2.*
from table2 t2;
推荐阅读
- java - 千分尺指标和 Application Insights java 代理 - 指标会累积,尽管它们不应该(或者我错过了什么)
- react-native - 胜利图表 X 轴标签应按周分组并防止重叠
- c# - ASP.NET Core 5 错误“在程序集中找不到迁移配置类型”
- javascript - JavaScript中reduce方法内部的函数发生了什么?- JavaScript30 练习
- node.js - WSL2 Node.js,JetBrains IDE,如何打开项目
- c++ - 在共享库中重新使用包含 Objective-C 符号的静态库会导致“X 类在 Y 和 Z 中都实现”
- html - 关键帧 CSS SVG 路径上的多个延迟动画
- javascript - momentjs 的时区没有改变
- groovy - 带有字符串变量问题的Jenkinsfile
- python - 停止运行脚本时如何保持 tkinter 窗口打开?