2009-07-17 12 views
13

私は2つのテーブルを持っています。最初はユーザーです。これはusernameとuseridで構成されます。 2番目はuseridとqueryで構成される検索です。クエリで2つのテーブルを結合する方法は?

検索テーブルを選択すると、ユーザーテーブルからデータを取得して、ユーザーIDをユーザー名に置き換えます。これは理にかなっていますか?

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

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

単一のクエリでこれを行う方法はありますか?

答えて

63

あなたはinner joinを探しています。これはそれを行うだろう:

...リンクを含むため
+13

まあ。 –

+10

upvote奇妙なdownvoteた

SELECT s.query, u.username FROM search s INNER JOIN users u ON s.userid = u.userid 
seth

+0

良い答え。 –

2
SELECT u.`username`, s.`query` 
    FROM `search` s 
     INNER JOIN `users` u ON s.`userid` = u.`userid` 
3
SELECT username, query FROM Users, Queries WHERE Users.userid=Queries.userid;