【发布时间】:2021-09-27 08:00:13
【问题描述】:
想象以下表格:
CREATE TABLE item (code string);
CREATE TABLE item_event (id int, item_code string, event int, date smalldatetime);
item:
code
item1
item2
item3
item4
item_event:
id | item_code | event | date
1 | item1 | 123 | 2021-05-04 05:50
2 | item1 | 456 | 2021-05-04 06:50
3 | item2 | 123 | 2021-05-04 05:50
4 | item2 | 678 | 2021-05-04 08:50
5 | item3 | 456 | 2021-05-04 05:50
6 | item3 | 890 | 2021-05-04 09:50
7 | item4 | 123 | 2021-05-04 11:50
8 | item4 | 456 | 2021-05-04 20:50
9 | item4 | 890 | 2021-05-04 01:50
我如何选择没有456事件或日期在890事件之后的456事件的项目?
所以在这种情况下,它将返回 item2 和 item4。
无法弄清楚如何在 SQL 中执行此操作。我尝试过的所有事情都只是过滤掉单个事件,而不是查看“按 item_code 分组”的集合。
【问题讨论】:
-
查看
NOT EXISTS -
您想要
item还是所有item_event?
标签: sql sql-server one-to-many