2012-03-24 10 views
0

私は少しソーシャルネットワークで作業し、あなたがフォローしている友達からの更新を時間でソートした友達フィードのバージョンを実装したいと思います。MySQL:2つのテーブルを同時に照会します

の2つのテーブルがあるとしましょう:

接続 - で更新を保存する - myIdwhoIFollowIDフィールド

statusUpdatesによって、私は従うのユーザーを保存しますuserID,status,timeフィールド。私はstatusUpdatesテーブルから、ステータスの更新を取得するように同時に2つのテーブルを照会し、私はそれらを印刷できるように、whoIFollowIDからの接続テーブルでのみWHERE userIDマッチを返すにはどうすればよい

timeでソート?

+0

(例えば)それはおそらくSよりもGoogle検索でなければなりませんO質問 - 「MySQLクエリ2つのテーブルを同時に」:-) – Abhay

答えて

3

試してみてください。

SELECT s.status from connections c 
JOIN statusUpdates s 
on s.userID = c.whoIFollowID 
ORDER BY s.time 

これはコメントで示唆したように、複数のテーブルに

を選択しjoinを使用しています - あなただけログインしているユーザーのステータスを選択するにWHERE条件を追加することができます - これは次のようになりますWHERE c.myId = <the logged in user's userid>

For a very good explanation of joins read this

+1

一度に1人のユーザーの更新を取得するために、現在のユーザーであるc.myIdに条件を追加することをお勧めします。 –

+0

@JoachimIsakssonさんが説明を追加しました....ありがとう:-) – ManseUK

+0

まあ、私はあなたの質問が、フォロワーを持つデータベース全体のすべてのユーザーのステータス更新を選択することを意味しました。 。 'c.myId = <ログインしたユーザーのユーザーID> 'を追加するといいかもしれません。 –

関連する問題