2017-05-24 15 views
-1

編集:これがなぜ落とされたのかわかりませんが、それはSOのルールに従うように見える実際の質問です。MySQLはJOINを使用して2つの異なるIDからユーザデータを取得します

私は非常に簡単なメッセージシステムを作ろうとしています。私は、to_id,from_idmessageという単純なmessagesテーブルを持っています。また、ユーザーのidとユーザーのprofile_picを含むusersテーブルがあります。今私はJOINとSQLクエリを使用して各ユーザーのメッセージとプロファイルの画像を取得しようとしているが、私はエラーが発生していると私はそれを把握することはできません。どんな助けでも大歓迎です。ここで

は私のクエリです:

SELECT `messages`.`from_id`, `messages`.`to_id`, `messages`.`message` 
INNER JOIN `users`.`profile_pic` AS `from_pic` on `users`.`id` = `messages`.`from_id` 
INNER JOIN `users`.`profile_pic` AS `to_pic` on `users`.`id` = `messages`.`to_id` 
FROM `messages` WHERE `messages`.`from_id` = 23 AND `messages`.`to_id` = 24 ORDER BY `date_sent` DESC; 

は、ここで私はphpMyAdminのから取得していますエラー:

MySQL said: Documentation 

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN `users`.`profile_pic` AS `from_pic` on `users`.`id` = `messages`.`fr' at line 2 
+1

1:FROM句がINNER JOIN条項に来る必要があります'FROM'句と' WHERE'句の前に – jmoerdyk

+0

@jmoerdykエラーが追加されました – nTuply

+0

なぜあなたはdownvotedを取得しましたか?エラーメッセージには、「マニュアルを確認してください...」と表示されます。 –

答えて

0

エラーが言うように、あなたは構文エラーがあります。あなたはそれがおそらく構文エラーです)あなたの質問2のエラーテキストを含める必要があり、あなたの `INNER JOIN`句が_after_来る必要)

SELECT `messages`.`from_id`, `messages`.`to_id`, `messages`.`message` 
FROM `messages` 
INNER JOIN `users`.`profile_pic` AS `from_pic` on `users`.`id` = `messages`.`from_id` 
INNER JOIN `users`.`profile_pic` AS `to_pic` on `users`.`id` = `messages`.`to_id` 
WHERE `messages`.`from_id` = 23 AND `messages`.`to_id` = 24 
ORDER BY `date_sent` DESC; 
+0

しかし、エラーは '#1146 - テーブル 'users.profile_pic'は存在しません ' – nTuply

+0

あなたのテーブルを見ることができるように '説明するユーザー'を行い、結果を投稿します – ghenghy

関連する問題