簡體   English   中英

獲取最新論壇帖子

[英]Get last forum post

我正在創建一個論壇,其中所有主線程帖子都位於一個數據庫表中,而所有答案均位於另一個數據庫表中。 到目前為止,擁有兩個表真是一個地獄。

forum_threads
thread_id | title | post

forum_answers
answer_id | ref_thread_id (foreign key) | post

如何選擇最新帖子,包括主題標題? 該線程可能沒有任何答案,在這種情況下,所有數據都應來自forum_thread。 但是,如果有答案,則應從forum_answers中選擇數據,並從forum_threads中找到標題。

希望你能理解!

如果我將所有內容都放在一個表,答案和主要帖子中,這將更加容易。 盡管有人告訴我這是最好的方法,但還不能確定.....我正在考慮只切換回一張桌子。

謝謝你的幫助!

這應該可以為您提供所需的信息,但實際上您應該將日期存儲在這些表中。

SELECT
    ft.thread_id,
    ft.title,
    COALESCE(fa.post,ft.post) AS post
FROM
    forum_threads ft
LEFT JOIN
    forum_answers fa
    ON  (ft.thread_id = fa.ref_thread_id)
ORDER BY
    ft.thread_id
LIMIT 1;

它會給你的post從價值forum_answers除非有沒有一個線程,那么這將只是給你的post從價值forum_threads

嘗試這個。

SELECT fa.post, ft.title
FROM forum_threads ft INNER JOIN forum_answers fa ON
     ft.thread_id = fa.ref_thread_id
ORDER BY fa.answer_id
LIMIT 1;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM