我認爲這將是一個簡單的查詢,但它比我想象的要困難。跳過次數用戶評論
我有一個簡單的論壇應用程序,用戶打開一個故事,然後其他用戶可以發表評論。
兩個表是
故事
id
user_id
subject
approved
評論
id
user_id
story_id
approved
基本上,我想通過不計算樓主自己的評論來查詢懸而未決的故事。即使其他人發佈了新評論,但在評論尚未獲得批准時,也不應該將其視爲回覆故事。
select * from stories left join comments on stories.id = comments.story_id
having count(comments.id) = 0 or (count(comments.id) > 0 and comments.user_id = stories.user_id)
它工作正常,沒有'approved'標誌,但我不能讓它工作,當我添加'批准'到where/having子句。
我在做什麼錯?
謝謝@Mureinik!這似乎工作。只是一個新手問題......它應該比加入+有慢嗎? – Moon 2014-10-30 06:29:05
@Moon它**不應該是,但如果沒有在你的實際數據集上分析它,這真的很難回答。 – Mureinik 2014-10-30 06:30:19
//謝謝!我將在有限的知識範圍內進行分析。 – Moon 2014-10-30 06:32:13