我有這樣3個表:檢索用戶的朋友具有各好友只有一排柱
POST (id, name, id_user, ..)
FRIENDS (id, followerid, followingid, acepted) /* acepted must be 1 to users be considered friends */
OK,所以我想從用戶5.讓所有朋友的帖子,但我有很多的麻煩構建查詢。我知道我需要加入,問題是當前用戶(ID爲5)可能是followerid或以下,所以我怎麼知道?
我試圖像成才(但得到被堵塞,nonsenseness):
SELECT posts.*,friends.id
FROM friends LEFT JOIN ON (friends.followerid = posts.id) OR (friends.following.id = posts.id)
但我真的不知道,如果對接受或裏面,我可以在這裏得到一些暗示?謝謝!
可以在同一對用戶添加兩次'FRIENDS'(爲'A,B'和'B, A')?如果是這樣,其中一行可以'acepted = 1',另一個'acepted = 0'?如果是這樣,應該把'B'作爲'A'的朋友(或者'A'作爲這個問題的'B'的朋友)? –
每個連接只有一行。這就是爲什麼我決定添加接受的領域@AndriyM –