Как объединить две таблицы в запросе? - PullRequest
14 голосов
/ 17 июля 2009

У меня есть две таблицы. Первый пользователь; это состоит из имени пользователя и идентификатора пользователя. Второй - это поиск, который состоит из идентификатора пользователя и запроса.

Когда я выбираю таблицу поиска, я хочу, чтобы идентификатор пользователя был заменен именем пользователя, взяв данные из таблицы пользователей. Это имеет смысл?

+-------+----------+
|userid | username |
+-------+----------+
|    1  |   foo1   |
+-------+----------+
|    2  |   foo2   |
+-------+----------+
|    3  |   foo3   |
+-------+----------+
|    4  |   foo4   |
+-------+----------+

+-------+----------+
|userid |   query  |
+-------+----------+
|    1  |   blah1  |
+-------+----------+
|    2  |   blah2  |
+-------+----------+
|    3  |   blah2  |
+-------+----------+
|    4  |   blah2  |
+-------+----------+

Есть ли способ сделать это с помощью одного запроса?

Ответы [ 3 ]

67 голосов
/ 17 июля 2009

Вы ищете внутреннее соединение . Это сделало бы это:

SELECT s.query, u.username
FROM search s
INNER JOIN users u
ON s.userid = u.userid
3 голосов
/ 17 июля 2009
SELECT username, query FROM Users, Queries WHERE Users.userid=Queries.userid;
2 голосов
/ 17 июля 2009
SELECT u.`username`, s.`query` 
    FROM `search` s
        INNER JOIN `users` u ON s.`userid` = u.`userid`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...