0

我正在使用 Oracle11g 我想要做的是选择具有最大更新日期的字段。下面的代码是在 Toad 中选择正确的字段。如何在 CodeIgniter 的 php 脚本中使用它。

select * from performance 
where UPDATE_DATE = (select max(UPDATE_DATE) from  performance)

我在 CodeIgniter 中有这个,但只选择了 UPDATE_DATE 列。我还想在字段记录中选择 id、shop_name 和 update_date

function get_last_insert()
{
$this->db->select_max('UPDATE_DATE');
$query = $this->db->get('PERFORMANCE'); 
echo '<pre>' .$this->db->last_query(). '</pre>';

}

好的。经过对stackoverflow的大量研究正确答案是

function get_last_insert()
{
$this->db->select('*');
$this->db->where('UPDATE_DATE = (SELECT MAX(UPDATE_DATE) FROM PERFORMANCE)', NULL, FALSE);
$query = $this->db->get('WHOUSE1.DLY_BWR_MAN_PERFORMANCE'); 
print_r($query);
}
4

3 回答 3

0

尝试这个:

function get_last_insert()
{
$this->db->select(' id, shop_name, update_date, MAX(UPDATE_DATE) as UPDATE_DATE', false)->get('PERFORMANCE')->row_array(); 
echo '<pre>' .$this->db->last_query(). '</pre>';
}
于 2013-11-06T12:43:00.207 回答
0

这将返回 $champs_select 的值(最大行的特定字段)。您还可以将特定条件放入数组 => $where

function getmax_where('performance',$where,'UPDATE_DATE',$champs_select)
{
    $this->db->select_max('UPDATE_DATE');
    $this->db->where($where);
    $maxdate= $this->db->get('performance');

    foreach($maxdate->result() as $row){
        $max= $row->UPDATE_DATE;
    }
    if($max){
    $array=array('UPDATE_DATE'=>$max);

    $array= array_merge($array,$where);

    $this->db->select($champs_select);
    $this->db->where($array);
    $result= $this->db->get('performance');//->result() give all records of a maximum column
    foreach($result->result() as $row){
        $resultat= $row->$champs_select;
    }
    return $resultat;
    }
    return false;
}

?>
于 2015-06-16T08:27:21.027 回答
0
function get_last_insert()
{
$this->db->select('*');
$this->db->where('UPDATE_DATE = (SELECT MAX(UPDATE_DATE) FROM PERFORMANCE)',     NULL, FALSE);
$query = $this->db->get('WHOUSE1.DLY_BWR_MAN_PERFORMANCE'); 
print_r($query);
}
于 2015-07-10T09:23:01.073 回答