我的数据库中有 3 个表,如下所示。这用于类似于foursqure的应用程序。我需要有关编写我在底部询问的 sql 语句的问题的帮助。
谢谢你
用户详细信息
user_id | fname
----------------
1 | Losh
8 | Dush
9 | Rosh
10 | NELL
朋友们
user_idf |user_idff
----------------
1 | 8
8 | 9
10 | 1
报到
check_in_id |user_id | place | date
--------------------------------------------
1 | 8 | Hotel | 01/01/2012
2 | 9 | Home | 05/01/2012
3 | 1 | Junction | 08/01/2012
4 | 1 | Rest | 11/01/2012
5 | 9 | Hotel | 15/01/2012
6 | 8 | Home | 15/01/2012
我得到了与 8 和用户 8 为好友的用户的详细信息以及如下所示的签入位置
SELECT a.`user_id`, a.`fname` , b.*
FROM `user_details` a, `check_in` b
WHERE (b.user_id = 8
OR b.user_id in (select user_idf from friends where user_idff = '8' union select user_idff from friends where user_idf = '8')) AND b.user_id = a.user_id
我如何编写 sql 来选择谁是 8 和用户 8 详细信息的朋友以及最后一次检查这些用户的位置
解释::
我寻求答案,例如
user id name place date
1 LOSH Rest 11/01/2012
8 DUSH HOME 15/01/2012
9 ROSH HOTEL 15/01/2012