因此,我相信我需要一個內部加入此查詢,但我不是100%肯定。SQL內部連接3臺
首先看到我的數據庫圖表:
Click here for database diagram
我想要實現:
- 我試圖讓所有消息(這樣user_username ,text,posted_at FROM Messages),其中user_username與followed_username匹配,以及followed_username具有=?的follower_username。
- 基本上,每個人都跟着?,我想要得到他們所有的信息。
在哪裏? =的inputed用戶名
我到目前爲止已經
我已經嘗試了多個SQL語句,並迄今無法獲得成功的嘗試。這些都是我嘗試過的。
$sql = "SELECT user_username, text, posted_at FROM Messages, Users, User_Follows WHERE user_username = (SELECT username FROM Users WHERE username = (SELECT followed_username FROM User_Follows WHERE follower_username = ?)) ORDER BY posted_at DESC;";
$sql = "SELECT user_username, text, posted_at FROM Messages, User_Follows WHERE follower_username = ? AND followed_username = user_username;";
$sql = "SELECT user_username, text, posted_at FROM Messages JOIN User_Follows ON user_username = followed_username WHERE follower_username = followed_username;";
我想現在我需要使用一個內連接來達到我想要的,但我不太清楚這是否是正確的,或者如何去了解它。
在此先感謝。
你現在所擁有的是什麼交叉連接這是你的問題。在任何情況下你都不應該使用隱式連接。他們是一種很差的技術,會導致這樣的問題。爲了提供修復,我們需要查看錶結構。 – HLGEM
你看過我的鏈接@HLGEM – jsmith