2

私は2つのテーブルを持っていusersますmessages.

usersにはフィールドuserId(int) とusername(string) messagesがあり、フィールドuserId(int) とがありmessageます。

私はユーザー名を持っており、そのユーザー名に関連するすべてのメッセージを取得したいと考えていますuserId

この場合、結合関数は機能しますか (そうであれば、どのように機能しますか?)、または 2 つの別個のクエリを作成する必要がありますか?

4

2 に答える 2

5
SELECT       m.*
FROM         messages m
  INNER JOIN users u
  ON         m.userId = u.userId
WHERE        u.username = 'UsernameHere';

を使用して、テーブルからテーブルINNER JOINを参照します (両方を列で一致 [参照] します)usermessagesuserId

クエリの例は、http ://www.sqlfiddle.com/#!8/bc3ce/3/0 にあります。

于 2012-09-23T19:20:00.740 に答える
3
SELECT U.userId, M.message
FROM users AS U INNER JOIN messages AS M ON U.userId = M.userId
WHERE U.username = 'UserName'

必要なユーザー名を WHERE 句に挿入するだけです。

于 2012-09-23T19:21:28.673 に答える