2013-11-27 94 views
0

此答案確實有效,但存在問題。作爲mysql - 獲取用戶的最後活動

(SELECT `user_id`, `date_added`, 'vote' AS `type` FROM `vote` WHERE `user_id` = uid) UNION 
(SELECT `user_id`, `date_added`, 'discussion' AS `type` FROM `discussion` WHERE `user_id` = uid) UNION 
(SELECT `user_id`, `date_added`, 'comment' AS `type` FROM `comments` WHERE `user_id` = uid) 
ORDER BY `date_added` DESC; 

我的表是投票,評論,討論User recent activities - PHP MySql

我的查詢是一樣的。使用這個查詢,我不能得到新插入的,但我得到的是最後 - 1活動。我如何將這些問題帶入這些查詢?

+1

你能澄清你想要得到的是什麼嗎? –

+0

我不能得到新插入的,但我得到的是最後 - 1活力 – IOSDealBreaker

回答

1

試試這個

SELECT V.user_id, V.date_added, V.vote 
FROM vote AS V 
JOIN discussion AS D ON D.user_id=V.user_id 
JOIN comments AS C ON C.user_id=V.user_id 
ORDER BY V.date_added DESC 
+0

我得到最新的一個,但我沒有得到所有.... – IOSDealBreaker

+0

我調整了工會,它的工作。 thanx – IOSDealBreaker

+1

太棒了!我很高興你明白了 –

1

您沒有爲我們提供了一個樣本數據角度去看待,但我認爲這個問題可能是聯盟刪除重複和數據點可能是在多個表一樣的嗎?我只是根據有限的信息在這裏猜測。

我會建議使用Union ALL而不是UNION並查看返回的數據。你可以閱讀更多關於聯盟和聯盟全部here

謝謝!

相關問題