Ответ 1
Вы ищете внутреннее соединение . Это сделало бы это:
SELECT s.query, u.username
FROM search s
INNER JOIN users u
ON s.userid = u.userid
У меня две таблицы. Сначала пользователь; это состоит из имени пользователя и пользователя. Второй - поиск, который состоит из идентификатора пользователя и запроса.
Когда я выбираю таблицу поиска, я хочу, чтобы идентификатор пользователя был заменен именем пользователя, взяв данные из таблицы пользователя. Это имеет смысл?
+-------+----------+
|userid | username |
+-------+----------+
| 1 | foo1 |
+-------+----------+
| 2 | foo2 |
+-------+----------+
| 3 | foo3 |
+-------+----------+
| 4 | foo4 |
+-------+----------+
+-------+----------+
|userid | query |
+-------+----------+
| 1 | blah1 |
+-------+----------+
| 2 | blah2 |
+-------+----------+
| 3 | blah2 |
+-------+----------+
| 4 | blah2 |
+-------+----------+
Есть ли способ сделать это с помощью одного запроса?
Вы ищете внутреннее соединение . Это сделало бы это:
SELECT s.query, u.username
FROM search s
INNER JOIN users u
ON s.userid = u.userid
SELECT username, query FROM Users, Queries WHERE Users.userid=Queries.userid;
SELECT u.`username`, s.`query`
FROM `search` s
INNER JOIN `users` u ON s.`userid` = u.`userid`