0

我有一张桌子,上面有不同类型的工作。结构是这样的:

id
job_id
rev
[other fields]

所以每次编辑作业时都会在数据库中添加一个新行,它有一个唯一的 id,job_id 与上次相同(因为作业相同但只是编辑过)并且rev数更大( 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 字符串?

4

1 回答 1

0

几个想法。您的联接在另一张表中是什么样的(我怀疑联接可能已关闭)?并且可能需要 order_by 才能获得最新的修订。

于 2013-07-25T15:39:34.120 回答