2009-07-17 33 views
13

Tôi có hai bảng. Đầu tiên là người dùng; điều này bao gồm tên người dùng và userid. Thứ hai là tìm kiếm bao gồm userid và truy vấn.Làm cách nào để kết hợp hai bảng trong một truy vấn?

Khi tôi chọn bảng tìm kiếm, tôi muốn ID người dùng được thay thế bằng tên người dùng bằng cách lấy dữ liệu từ bảng người dùng. Điều này có ý nghĩa không?

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

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

Có cách nào để thực hiện điều này với một truy vấn không?

Trả lời

63

Bạn đang tìm kiếm inner join. Điều này sẽ làm điều đó:

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

Vâng đó là một downvote lạ ... –

+10

upvote cho bao gồm một liên kết. – seth

+0

Câu trả lời hay. –

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; 
Các vấn đề liên quan