2011-04-01 31 views
0

我有2個表從兩個表中查詢一條語句?

User 
-userid 
-group 
//other unrelated columns 

Logs 
-userid 
-ip

我要的是使用IP查詢日誌表的所有用戶ID做,然後讓所有的用戶ID的組。這可能與一個單一的查詢?如果不是,那麼加速它,而不是用userid查詢每個用戶行?

+0

請給出至少使用那些表的CREATE語句,來查看錶結構。 – Deele 2011-04-01 09:15:34

+2

沒有違法意圖,但這是可能的最基本的SQL問題。你不能在stackoverflow上學習這些基礎知識。嘗試在線課程,例如http://www.sqlcourse.com/index.html – onedaywhen 2011-04-01 09:34:17

回答

3

像這樣?

SELECT ip, userid, group 
FROM Logs INNER JOIN User ON Logs.userid = User.userid 
WHERE ip = '1.2.3.4' 
+0

只需要User.userid而不是它的工作原理。謝謝 – Will 2011-04-01 09:37:02

3

當然這是一個簡單的連接?

select logs.userid,logs.ip,user.group 
from logs 
left join user on logs.userid=user.userid 
2
select distinct group 
from user u 
join logs l on u.userid=l.userid 
where l.ip='yourIP' 
1

至少背打勾一些是關鍵字(組)或可能是特殊的字段名稱(用戶)

SELECT L.`group` 
FROM Logs L 
INNER JOIN `User` U ON U.userid = L.userid 
WHERE L.ip = '1.2.3.4' 
GROUP BY L.`group`