我想获取用户被标记的所有签到(注意:我对他自己的签到不感兴趣)。我尝试了以下,这有点不合逻辑,当然不起作用,但你会得到我想做的事情:
SELECT message FROM checkin WHERE tagged_uids IN
(SELECT uid FROM user WHERE uid = me())
有什么想法吗?
答案 0 :(得分:4)
你正在考虑IN
倒退。您正在寻找的查询是:
SELECT message FROM checkin WHERE me() IN tagged_uids
但,tagged_uids
为not indexable,因此您需要先了解更多信息,然后才能运行此查询(例如谁实际记录了签入)。你可以尝试的一件事是:
SELECT message FROM checkin
WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
AND me() IN tagged_uids
这将找到您的用户被用户的朋友标记的所有签到(可能是唯一可以检查该用户的人)。