2012-05-24 25 views
1

讓說:獲取所有用戶ID的朋友給unn​​expected結果

table users(id, name, ..) 
table friends(uid, fid) 

我怎麼才能得到33456的用戶ID的朋友?

SELECT fid idd, name 
    FROM users, 
     friends 
WHERE uid = 33456 
    AND fid = id 

但會給我unnexpected結果

+0

嘗試使用完全合格的名字,如friends.uid等。這將刪除名稱衝突的可能性。 – AurA

+1

你想得到什麼?朋友的名字? –

回答

2
SELECT id, fid, name 
FROM users,friends where users.id=friends.fid 
WHERE users.id = 33456 
0
SELECT id, fid, name 
FROM users 
INNER JOIN friends ON users.id=friends.fid 
WHERE users.id = 33456 
0
select id,name from users where id in (select fid from friends where uid=33465) 
0

這將返回所有的ID與你的朋友的名字。

SELECT b.fid, c.name 
FROM users a INNER JOIN friends b ON a.id = b.uid 
    INNER JOIN users c on b.fid = c.id 
WHERE a.id = 33456 
0
SELECT u.name,u.id 
FROM users u 
WHERE u.id IN 
(
SELECT f.fid 
FROM users u INNER JOIN friends f ON u.id = f.fid 
WHERE f.uid = 33456 
) 
相關問題