私のデータベースには次の3つのテーブルがあります。これは、foursqureのようなアプリケーションに使用されます。私はこれの一番下で私が尋ねたsqlステートメントを書く問題について助けが必要です。
ありがとうございました
user_details
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
8とユーザー8の詳細と、それらのユーザーの代わりに最後のチェックを行う友人を選択するSQLを作成するにはどうすればよいですか?
説明::
私は次のような答えを求めています
user id    name     place   date
   1       LOSH     Rest  11/01/2012
   8       DUSH     HOME  15/01/2012
   9       ROSH     HOTEL 15/01/2012