如何獲取特定記錄並僅滿足條件?從story中選擇項目,其中story.uid等於uid或story.uid等於friend.uid或friend.fid並且被接受
我的代碼爲
"SELECT a.id, a.text, a.uid, a.time
FROM story a INNER JOIN friends b
ON ((a.uid = '" . $uid . "') OR
(b.uid = '" . $uid . "' AND accepted='1') OR
(b.fid = '" . $uid . "' AND accepted='1'))
ORDER BY a.time DESC
LIMIT 3";
它正常工作,只是當friends
表是空的,它不會顯示story
記錄。
我想達到什麼是
如果在表UID故事等於登錄UID(用戶),然後從表顯示文本故事(意思是他自己的故事)
如果UID表故事等於UID表朋友和友誼是接受或如果在表UID故事等於FID表朋友和它的友誼是接受然後顯示文本在表故事(意思是fr的故事OM A的朋友和其顯示只有友誼被接受)
如果沒有友誼可言,只顯示從表故事自己的故事而忽略其他
我不知道你想要完成什麼,但是如果你的問題是關於內部連接的工作方式,那麼當你仍然想要返回一行時,可以使用外部連接加入可能沒有排。 – gview
謝謝,它的工作 – GucabanSimon