Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 基于另一个表的值更新一个表_Sql_Codeigniter - Fatal编程技术网

Sql 基于另一个表的值更新一个表

Sql 基于另一个表的值更新一个表,sql,codeigniter,Sql,Codeigniter,让我知道,如果我在这里完全无法理解,我正在努力,我真的是。我想做的是编写一个更新查询,根据我的章节上具有相同故事id的已批准章节的数量来更改我的故事中的值 因此,基本上,如果一个故事没有被批准的章节,那么在故事中就不应该被批准 我试过一些方法,但到目前为止,我可以说我正在使这种方法变得比需要的更复杂。非常感谢您的帮助 此查询将所有未批准章节的故事设置为未批准: $this->db->query("UPDATE story_tbl SET approved = 'n' WHERE st

让我知道,如果我在这里完全无法理解,我正在努力,我真的是。我想做的是编写一个更新查询,根据我的章节上具有相同故事id的已批准章节的数量来更改我的故事中的值

因此,基本上,如果一个故事没有被批准的章节,那么在故事中就不应该被批准


我试过一些方法,但到目前为止,我可以说我正在使这种方法变得比需要的更复杂。非常感谢您的帮助

此查询将所有未批准章节的故事设置为未批准:

$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->query("UPDATE story_tbl SET approved = 'n' WHERE story_id NOT IN (SELECT DISTINCT story_id FROM chapter_tbl WHERE approved = 'y')");
这两个查询将取消批准所有故事,然后批准至少有一个已批准章节的所有故事:(基本上是做同样事情的一种更慢、更冗长的方式,但其好处是还可以批准具有已批准章节的故事)


在我的数据库中有一个简单的问题,我批准的是“y”或“n”,你的0表示否,你的1表示是吗?它有效!我高兴得跳上跳下,非常感谢!在我的数据库中有一个简单的问题,我批准的是“y”或“n”,你的0表示否,你的1表示是吗?它有效!我高兴得跳上跳下,非常感谢!
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)