我有以下疑问:
SELECT u.id, u.name, n.other_user, n.notification FROM notifications n
INNER JOIN users u ON
CASE
WHEN n.user = :me THEN u.id = n.other_user
WHEN n.other_user = :me THEN u.id = n.user
ELSE "CANCEL JOIN HERE"
END
对于上面的问题,我有
notification
像这样的表格:
身份证件
|
使用者
|
其他用户
|
通知
|
1.
|
5.
|
2.
|
文本1
|
2.
|
3.
|
3.
|
文本2
|
3.
|
2.
|
16
|
文本3
|
4.
|
0
|
0
|
文本4
|
5.
|
0
|
0
|
文本5
|
现在让我们假设我是一个登录用户
2
.因此,我想用
id
1, 3, 4, 5
.这是因为
1, 3
拥有用户
2.
两者都有
user
和
other_user
和记录
4,5
适用于所有人,因为他们没有分配给任何特定的用户id(实际上是这样的)
0,0
)。此外,选择这些记录时,不应将其加入
users
表,因为没有id为的用户
0
在这里
0
意味着通知被发送给了网站上的每个用户。这是给每个人的。因此,我也想取消加入
用户
在选择这些记录时使用
0,0
.
现在,我当前的问题(没有
ELSE
1,3
忽略记录
4,5
.我相信这是因为
INNER JOIN
这里用过。但我不能使用任何其他连接。我需要内在的联结。如何选择记录
4,5
这里也是吗?