Я пытаюсь сделать простой запрос, который извлекает данные из двух таблиц. В одной таблице ForumPosts хранятся данные, относящиеся к сообщениям на форуме, а в другой - Пользователи - данные о пользователях в моей системе.
Проблема, с которой я столкнулся, заключается в том, что когда я хочу собрать данные о том, какие пользователи опубликовали какие сообщения.
Вот мои таблицы:
mysql> select * from ForumPosts;
+----+--------+-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+---------+---------------------+
| ID | UserID | Title | Post | ImgFile | SubmissionTime |
+----+--------+-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+---------+---------------------+
| 1 | 1 | More tests | tests... | NULL | 2019-02-26 01:39:28 |
| 2 | 2 | Another test post | tests... | NULL | 2019-02-26 22:52:26 |
| 3 | 1 | Test post | tests… | NULL | 2019-03-27 22:10:38 |
+----+--------+-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+---------+---------------------+
mysql> select * from Users;
+----+----------------+----------+----------+---------------------+
| ID | Email | UserName | Password | DateRegistered |
+----+----------------+----------+----------+---------------------+
| 1 | test@test.com | tester | dank | 2019-02-26 22:43:26 |
| 2 | test2@test.com | 2tester | dank | 2019-02-26 22:43:26 |
+----+----------------+----------+----------+---------------------+
Я пытался просмотреть некоторые другие сообщения, такие как:
Простое соединение MySQL для замены внешнего ключа
И все они, кажется, имеют ту же проблему, что и я, но я не могу понять, что не так с моим решением.
Это запрос, который я сейчас использую.
select
Title,
Users.ID as Author,
SubmissionTime as Posted
from ForumPosts
left join
Users on ForumPosts.UserID = Users.ID
order by SubmissionTime desc;
Но что возвращается, так это:
mysql> select
-> Title,
-> UserId as Author,
-> SubmissionTime as Posted
-> from ForumPosts
-> left join
-> Users on ForumPosts.UserID = Users.ID
-> order by SubmissionTime desc;
+-----------------------------------------------------------------------------+--------+---------------------+
| Title | Author | Posted |
+-----------------------------------------------------------------------------+--------+---------------------+
| Test post | 1 | 2019-03-27 22:10:38 |
| Another test post | 2 | 2019-02-26 22:52:26 |
| More tests | 1 | 2019-02-26 01:39:28 |
+-----------------------------------------------------------------------------+--------+---------------------+
В результате перечисляются внешние ключи для пользователей, но вместо этого я хочу указать их имена
Я чувствую, что это должно быть довольно простым решением, но я просто не могу его найти.