2016-10-13 10 views
0

データベースと簡単なチャットをしようとしています。多対多リレーションシップでIDの代わりにSQL名

  1. Users(ID(PK)、名前、パスワード)
  2. Messages(ID(PK)のユーザーから、SENDERID(FK)のユーザーから、recipientID(FK))、テキスト
  3. :だから私は2つのテーブルを作成しました

私はSQLで本当にnoobです。テーブルMessagesを返すクエリを書くことはできませんが、senderIDとrecipientIDの代わりに通常の名前を使用します。また、1つのテーブルが2回使用される例は見つからなかったので、JOINは私のためには機能しませんでした。あるいは、間違った方法で使用しました。

+1

ここにあなたの質問は何ですか? –

+1

あなたはあなたの答えを持っていますが、あなたはもう少しの検索で答えを得ている可能性があります... http://stackoverflow.com/questions/32702120/how-to-join-the-same-table-multiple-times –

答えて

2
SELECT US.Name as SenderName, UR.Name as RecipientName, M.text 
FROM Messages M JOIN Users US ON US.ID = M.senderID 
    JOIN Users UR ON UR.ID = M.recipientID 
+0

Omg、ちょうど2回参加、たくさんありがとう、私は叙事詩nooobb =) – BeygelTheP

0

必ず私が正しくあなたの質問を理解している場合、またはあなたが使用しているDBが、これは、私はあなたが探している何を考えではありません:

SELECT Messages.text, Users.name 
FROM Messages 
inner JOIN Users 
ON Messages.sender_id = Users.id 
関連する問題