获取SQL + Codeigniter中某个组的最新修订版

时间:2013-07-25 08:19:25

标签: php sql codeigniter

我有一张桌子,里面有各种各样的工作。结构是这样的:

id
job_id
rev
[other fields]

因此,每次编辑作业时,都会向数据库添加一个新行,它具有唯一的id,job_id与上次相同(因为作业相同但只是编辑)并且转数更大( 1 - > 2)。

现在我想在一个表中显示这些作业,id喜欢获取数据,以便显示与job_id和最新修订版组合在一起的数据。

示例:

1    53kjA7    1     This is a job
2    Adf98A    1     Another job
3    53kjA7    2     This is a job edited
4    8123Ag    1     More jobs
5    Adf98A    2     Another job edited

表格会显示:

3    53kjA7    2    This is a job edited
5    Adf98A    2     Another job edited
4    8123Ag    1     More jobs

我正在使用codeigniter及其内置的活动记录,我尝试过这样:

$this->db->select()->from('jobs')->group_by('job_id')->select_max('rev');

但结果是一个表格,其中显示了具有最新版本号的分组作业,但所有其他信息来自同一组中的另一个作业,如下所示:

1    53kjA7    2     This is a job
2    Adf98A    2     Another job
4    8123Ag    1     More jobs

有没有办法使用活动记录执行此操作,还是需要创建自定义SQL字符串?

1 个答案:

答案 0 :(得分:0)

几个想法。你的加入对另一张桌子的看法是什么(我怀疑连接可能会关闭)?并且可能需要order_by才能获得最新版本。