以下の2つのテーブルがあります。
users
-id (primary key, AUTO_INCREMENT)
-username (varchar)
-password (varchar)
users_messages
-id (primary key, AUTO_INCREMENT)
-message (text)
-fk sender_id (int)
-fk receiver_id(int)
-sent_date(datetime)
-is_read(tinyint)
users_messagesの両方の外部キーは同じテーブルを参照します。つまり、次のように出力を取得するSQLクエリを記述したいユーザーです。
Message Sender Receiver
Message 1 testing john sonam
Message 2 testing meena shenaz
これどうやってするの?users_messagesテーブルからすべてのメッセージをフェッチする必要があります。sender_idとreceiver_idは、usersテーブルのusername列に置き換えられています。
ソリューションの編集:
SELECT m.id, m.message, s.username, r.username FROM users_messages m
INNER JOIN users s ON m.sender_id = s.id
INNER JOIN users r ON m.receiver_id = r.id