Sql 如何在一个查询中组合两个表?
我有两张桌子。首先是用户;这包括用户名和用户ID。第二种是搜索,它由用户ID和查询组成 当我选择搜索表时,我希望通过从用户表中获取数据,将用户ID替换为用户名。这有意义吗Sql 如何在一个查询中组合两个表?,sql,mysql,join,Sql,Mysql,Join,我有两张桌子。首先是用户;这包括用户名和用户ID。第二种是搜索,它由用户ID和查询组成 当我选择搜索表时,我希望通过从用户表中获取数据,将用户ID替换为用户名。这有意义吗 +-------+----------+ |userid | username | +-------+----------+ | 1 | foo1 | +-------+----------+ | 2 | foo2 | +-------+----------+ | 3 | foo3
+-------+----------+
|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
为什么链接一些容易搜索的东西会说服你向上投票?你在这里用我的+1来回答战术性的向下投票问题;)但不要告诉任何人,因为我不知道这是否公平……)
SELECT u.`username`, s.`query`
FROM `search` s
INNER JOIN `users` u ON s.`userid` = u.`userid`
SELECT username, query FROM Users, Queries WHERE Users.userid=Queries.userid;