我想实施谁访问了您的个人资料
I want to implement who visited your profile
对于我的项目,我使用 postgresql 作为数据库。
我有 用户 table 其中包含(user_id、用户名、全名、电子邮件、令牌、性别)
我有另一个名为 views 的 table,它的字段为 (views_id, from_user_id, to_user_id, date_created)
现在我想在用户个人资料中实现访问历史记录(如 linkedin)。访问历史意味着谁访问了我的个人资料,如果我查阅另一个用户个人资料,它也必须出现在我的访问历史中。
比方说,我的用户名是 mhasan。现在,我需要一个查询,查询结果可能是这样的
to_visit_username
from_visit_username
AAA
mhasan
BBB
mhasan
mhasan
ZZZ
任何人都可以帮我编写适当的查询以获得上述结果吗?或者还有其他最简单的方法吗?任何类型的建议都值得赞赏table.
您可以 JOIN
VIEWS
table 和两个 USERS
table 如下:
Select t.username to_visit_username,
F.username from_visit_username
From views v
Join users t on v.to_user_id = t.user_id
Join users f on v.from_user_id = f.user_id
Where 'mhasan' in (f.username, t.username)
对于我的项目,我使用 postgresql 作为数据库。
我有 用户 table 其中包含(user_id、用户名、全名、电子邮件、令牌、性别)
我有另一个名为 views 的 table,它的字段为 (views_id, from_user_id, to_user_id, date_created)
现在我想在用户个人资料中实现访问历史记录(如 linkedin)。访问历史意味着谁访问了我的个人资料,如果我查阅另一个用户个人资料,它也必须出现在我的访问历史中。
比方说,我的用户名是 mhasan。现在,我需要一个查询,查询结果可能是这样的
to_visit_username | from_visit_username |
---|---|
AAA | mhasan |
BBB | mhasan |
mhasan | ZZZ |
任何人都可以帮我编写适当的查询以获得上述结果吗?或者还有其他最简单的方法吗?任何类型的建议都值得赞赏table.
您可以 JOIN
VIEWS
table 和两个 USERS
table 如下:
Select t.username to_visit_username,
F.username from_visit_username
From views v
Join users t on v.to_user_id = t.user_id
Join users f on v.from_user_id = f.user_id
Where 'mhasan' in (f.username, t.username)