2015-10-22 128 views
0

我有3個表 用戶(USER_ID,名) 線程(thread_id單,DATE_TIME) 用戶(subscriber_id,thread_id單) 用戶ID是從用戶表的外鍵我怎樣才能得到2個specefic用戶線程,我做這樣的事情,但它給我的空白行聊天應用程序數據庫

SELECT t.thread_id, s.subscriber_id, u.user_id 
FROM subscribers s 
LEFT JOIN thread t ON t.thread_id = s.thread_id 
LEFT JOIN user u ON s.subscriber_id = u.user_id 
WHERE s.subscriber_id = 1 AND s.subscriber_id = 2 

回答

1

我將強調這是造成空集結果查詢的一部分:

WHERE s.subscriber_id = 1 AND s.subscriber_id =2 
         ^really? 

您要求MySQL返回記錄,其中subscriber_id12。這沒有任何意義。在改正後的查詢下面我已經改變了WHERE條件使用OR而不是AND

SELECT u.user_id, u.name, t.thread_id 
FROM users u INNER JOIN susbscribers s ON u.user_id = s.subscriber_id 
INNER JOIN thread t ON s.thread_id = t.thread_id 
WHERE u.user_id = 1 OR u.user_id = 2 
1

您應該檢查你的查詢作爲@Tim Biegeleisen說。

+0

@TimBiegeleisen當我寫我的答案時,沒有其他的答案,我很抱歉,你想讓我刪除我的答案,因爲你猜你投票了嗎? –

+0

編輯我的答案先生。 –

+0

你不需要刪除它:-) –