我有2個表從兩個表中查詢一條語句?
User -userid -group //other unrelated columns Logs -userid -ip
我要的是使用IP查詢日誌表的所有用戶ID做,然後讓所有的用戶ID的組。這可能與一個單一的查詢?如果不是,那麼加速它,而不是用userid查詢每個用戶行?
我有2個表從兩個表中查詢一條語句?
User -userid -group //other unrelated columns Logs -userid -ip
我要的是使用IP查詢日誌表的所有用戶ID做,然後讓所有的用戶ID的組。這可能與一個單一的查詢?如果不是,那麼加速它,而不是用userid查詢每個用戶行?
像這樣?
SELECT ip, userid, group
FROM Logs INNER JOIN User ON Logs.userid = User.userid
WHERE ip = '1.2.3.4'
只需要User.userid而不是它的工作原理。謝謝 – Will 2011-04-01 09:37:02
當然這是一個簡單的連接?
select logs.userid,logs.ip,user.group
from logs
left join user on logs.userid=user.userid
select distinct group
from user u
join logs l on u.userid=l.userid
where l.ip='yourIP'
你應該能夠做到這一點的一個連接(http://dev.mysql.com/doc/refman/5.0/en/join.html)
select User.group
from Logs
inner join User on Logs.userid = User.userid
where Logs.ip = 'IP';
至少背打勾一些是關鍵字(組)或可能是特殊的字段名稱(用戶)
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`
請給出至少使用那些表的CREATE語句,來查看錶結構。 – Deele 2011-04-01 09:15:34
沒有違法意圖,但這是可能的最基本的SQL問題。你不能在stackoverflow上學習這些基礎知識。嘗試在線課程,例如http://www.sqlcourse.com/index.html – onedaywhen 2011-04-01 09:34:17