我正在CodeIgniter中構建一個自定義論壇。我有四個主要表格:父母(類別),孩子(板),線程和消息(回覆)。線程表只包含線程ID,作者,標題,日期和第一條消息的ID。當一個線程被查看時,它需要列「first_msg_id」來檢索線程的內容。如何使用MySQL Left Join根據另一個錶行的ID獲取結果?
我想創建一個查詢,獲取特定板中所有回覆的計數。基本上,任何與線程的first_msg_id字段不匹配的消息。以下是我迄今爲止:
$query = " SELECT m.message_id, m.thread_id t.thread_id, t.first_msg_id FROM forum_messages AS m LEFT JOIN forum_threads AS t ON t.first_msg_id != m.message_id WHERE t.child_id = ".$board_id." ORDER BY m.message_id";
這是我得到的錯誤:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.thread_id, t.first_msg_id FROM forum_messages AS m ' at line 3
這裏是我的表:
更新
好,所以現在我得到了我的查詢工作(嗯,修正了錯誤),它沒有做我想做的事情......我想我的邏輯錯了。我寫了一個腳本,在一塊板上創建了40個新線程。他們都沒有答覆。當我用我做的查詢使用mysql num行時,我得到了1560的結果。它應該返回0.爲什麼會發生這種情況?大聲笑。
得到它的工作。
謝謝,這擺脫了錯誤,但現在我得到了完全不同的東西。檢查我對我的問題所做的修改 – ShoeLace1291
其他消息如何與一個線程關聯? –