讓說:獲取所有用戶ID的朋友給unnexpected結果
table users(id, name, ..)
table friends(uid, fid)
我怎麼才能得到33456的用戶ID的朋友?
SELECT fid idd, name
FROM users,
friends
WHERE uid = 33456
AND fid = id
但會給我unnexpected結果
讓說:獲取所有用戶ID的朋友給unnexpected結果
table users(id, name, ..)
table friends(uid, fid)
我怎麼才能得到33456的用戶ID的朋友?
SELECT fid idd, name
FROM users,
friends
WHERE uid = 33456
AND fid = id
但會給我unnexpected結果
SELECT id, fid, name
FROM users,friends where users.id=friends.fid
WHERE users.id = 33456
SELECT id, fid, name
FROM users
INNER JOIN friends ON users.id=friends.fid
WHERE users.id = 33456
select id,name from users where id in (select fid from friends where uid=33465)
這將返回所有的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
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
)
嘗試使用完全合格的名字,如friends.uid等。這將刪除名稱衝突的可能性。 – AurA
你想得到什麼?朋友的名字? –