我正在創建一個表,顯示當前用戶尚未訂閱的所有註冊用戶。但是,一旦他訂閱了某人,我需要過濾該列表以排除這些列表。用戶/訂閱者sql查詢
我們假設一張名爲的表格訂閱了,其中列出了用戶以及他訂閱的用戶。
|UserId||SubscriberID|
它很容易使之成爲多個查詢,但我一直在努力失敗,使之成爲一個查詢,拯救MySQL的額外的循環調用。
這是我有什麼至今:
SELECT u.UserID, FullName, UserName from users u
LEFT JOIN subscribed t ON
((u.UserName LIKE '%$search%' OR
u.Email LIKE '%$search%') AND
({$_SESSION['ID']} = t.UserID
AND t.FollowerID != u.UserID)
)
我知道查詢的最後一部分是錯誤的,如果用戶名和FollowerID不匹配一個特定行,而不是因爲我只比較整個桌子。
最後部分需要查詢的WHERE子句中,所以它會在每一行中工作,而比加入整個桌子... – 2010-01-22 02:55:29
似乎沒有改變任何東西。你能詳細說明嗎? – 2010-01-22 03:05:35