【发布时间】:2021-05-24 07:22:20
【问题描述】:
我试图弄清楚如何最好地编写一个语句,该语句省略用户 (uuid_user) 已经看到 (seentable) 的返回行 (maintable)。
- 问:我应该让“seen”表成为每个用户的单独表吗?
目前,我将它作为一个供所有用户使用的 seen 表
对于每个uuid_user,用户已经看到的行存储在seentable 中。这是我的表格的简化版本。 uuid 用作加入的密钥。 uuid_user 标识特定用户看到的行。
不太好用:
SELECT *
FROM maintable m
LEFT JOIN seentable s
on m.uuid = s.uuid
WHERE s.uuid IS NULL and s.uuid_user = '[user]'
maintable
uuid (char36)
lng,lat (POINT)
timestamp (timestamp)
seentable
uuid (char36)
uuid_user (char36)
timestamp (timestamp)
【问题讨论】:
标签: mysql join database-design anti-join