2009-07-17 15 views
13

मेरे पास दो टेबल हैं। पहला उपयोगकर्ता है; इसमें उपयोगकर्ता नाम और उपयोगकर्ता आईडी शामिल है। दूसरा खोज है जिसमें उपयोगकर्ता आईडी और क्वेरी शामिल है।एक क्वेरी में दो टेबल कैसे गठबंधन करें?

जब मैं खोज तालिका का चयन करता हूं, तो मैं उपयोगकर्ता तालिका से डेटा ले कर उपयोगकर्ता आईडी को उपयोगकर्ता नाम से बदलना चाहता हूं। क्या यह समझ में आता है?

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

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

क्या एक प्रश्न के साथ ऐसा करने का कोई तरीका है?

उत्तर

63

आप inner join खोज रहे हैं। यह करना होगा:

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

खैर कि एक अजीब downvote ... लिंक सहित के लिए –

+10

वोट दें था। – 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; 
संबंधित मुद्दे