如果我在这里完全无法理解,请告诉我,我正在尝试我真的是。我想做的是编写一个更新查询,以根据我的 chapter_tbl 上具有相同 story_id 的已批准章节的计数来更改我的 story_tbl 中的值。
所以基本上,如果一个故事没有被批准的章节,那么在 story_tbl 中它不应该被批准。
我已经尝试了一些事情,但到目前为止,我可以说我让这种方式比需要的更复杂。非常感谢一些帮助!
如果我在这里完全无法理解,请告诉我,我正在尝试我真的是。我想做的是编写一个更新查询,以根据我的 chapter_tbl 上具有相同 story_id 的已批准章节的计数来更改我的 story_tbl 中的值。
所以基本上,如果一个故事没有被批准的章节,那么在 story_tbl 中它不应该被批准。
我已经尝试了一些事情,但到目前为止,我可以说我让这种方式比需要的更复杂。非常感谢一些帮助!
此查询会将所有未批准章节的故事设置为未批准:
$this->db->query("UPDATE story_tbl SET approved = 'n' WHERE story_id NOT IN (SELECT DISTINCT story_id FROM chapter_tbl WHERE approved = 'y')");
这两个查询将取消批准所有故事,然后批准至少一个已批准章节的所有故事:(基本上是一种更慢、更冗长的方式来做同样的事情,但也有利于批准章节已批准的故事)
$this->db->trans_start();
$this->db->query("UPDATE story_tbl SET approved = 'n'");
$this->db->query("UPDATE story_tbl SET approved = 'y' WHERE story_id IN (SELECT DISTINCT story_id FROM chapter_tbl WHERE approved = 'y')");
$this->db->trans_complete();
UPDATE story_tbl AS story SET story.approved =
(SELECT COUNT(*)>0 FROM chapter_tbl AS chapter
WHERE story.id = chapter.story_id AND chapter.approved=1
GROUP BY chapter.story_id)