私はこれを表示しようとしていますが、試すたびに私に必要なものを表示する代わりに "空のセット"と表示されます。MYSQLのJOIN文を使用して2つの異なるテーブルのデータを表示
は= 1 message.sender_idて送信メッセージのすべてを見つけるために、SQLステートメントを構築する:ここでHere is an image of the database schema
は私の求められているものです。注:このクエリの条件を設定するには、WHERE句を使用する必要があります。送信者の最初の名前 - - 送信者の姓 - レシーバのファーストネーム - 受信者の姓 - メッセージID - メッセージ - メッセージのタイムスタンプ
そして、これは私が思いついたMYSQLコードです を次の列を表示します私が言ったように、それは戻って空のセットだけです。
SELECT
person.first_name AS "Sender's first name",
person.last_name AS "Sender's last name",
person.first_name AS "Receiver's first name",
person.last_name AS "Receiver's last name",
message.message_id AS "Message ID",
message.message AS "Message",
message.send_datetime AS "Message Timestamp"
FROM message
JOIN person ON message.sender_id = person.person_id AND message.receiver_id = person.person_id
WHERE message.sender_id = 1;
私は、メッセージテーブル内の送信者と受信者IDに基づいて表示するために、人のテーブルのための最初と最後の名前を取得する方法を見つけ出すことはできません。
助けがあれば助かります。ありがとうございました!
@AndySavageには以下のような解決策がありますが、クエリが効果的にやっていることは、送信者と受信者の両方が 'person'の' person_id = 1' – jmoerdyk