我有一个复杂的查询要解决,我不知道如何获得正确的结果。首先,让我告诉你我的桌子:
+------------+
| users |
+------------+
| id |
| first_name |
| last_name |
+------------+
+--------------+
| clients |
+--------------+
| id |
| users_id |
| uid |
| access_token |
+--------------+
+---------------+
| users_follows |
+---------------+
| users_id |
| follow_id |
+---------------+
+-------------------+
| users_connections |
+-------------------+
| id |
| users_id |
| clients_id |
| uid |
| name |
+-------------------+
我们的网站使用Facebook Connect,因此连接的每个用户都有一个客户端UID(Facebook UID)。对于网站的功能,我需要一个查询来执行下一个操作:选择您关注的所有人(users_id=ME
)加上users_connections,但如果users_connection也是我关注的人,则不要将其包含在最终结果中。最后,对于此行,如果它是“关注”,我需要users.first_name
和users.last_name
,如果它是未在我们网站上注册的连接,我需要users_connections.name
。
我会有很多行,人们可能会有很多人关注这样的NOT IN和id的连接我认为这不是扩展它的最好方法。
有人能给我带点光明吗?
提前谢谢!