0

参加したいテーブルが2つあります...

テーブル「ユーザー」:

列:

uid => ユーザー インデックス

名前 => ユーザー名


テーブル「メッセージ」:

列:

fromid => 送信者ユーザー インデックス

toid => 受信者ユーザー インデックス

メッセージ => テキスト メッセージ


次のような出力が必要です。from_username | to_username | メッセージ |

私は得ることができます | from_username | メッセージ | このクエリで:

SELECT messages.message, users.name FROM messages,users WHERE messages.fromid = users.uid;
4

2 に答える 2

1

結合を 2 回完了する必要があります。

Select f.name, t.name, message from messages
Left join users as f on messages.fromID = f.uid
Left join users as t On messages.toid = t.uid

完全な結合構文 (およびいくつかの説明) については、MySQL ドキュメント ページは悪くありませんhttp://dev.mysql.com/doc/refman/5.0/en/join.html

于 2013-10-14T23:41:59.617 に答える
0

試す

 SELECT sender.name, receiver.name, message
 FROM messages
 INNER JOIN users sender
 ON messages.fromid = sender.uid
 INNER JOIN users receiver
 ON messages.toid = receiver.uid
于 2013-10-14T23:49:45.750 に答える