1

让我们说:

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

我怎样才能得到一些 33456 用户 id 的朋友?

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

但会给我意想不到的结果

4

5 回答 5

2
SELECT  id, fid, name
FROM users,friends where users.id=friends.fid
WHERE users.id = 33456
于 2012-05-24T06:56:42.830 回答
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 
)
于 2012-05-24T08:02:47.540 回答
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
于 2012-05-24T06:56:19.597 回答
0
SELECT  id, fid, name
FROM users
INNER JOIN friends ON users.id=friends.fid
WHERE users.id = 33456
于 2012-05-24T06:54:10.320 回答
0
select id,name from users where id in (select fid from friends where uid=33465)
于 2012-05-24T06:54:48.400 回答