从多个表中获取最大的Id并删除重复的值

时间:2015-01-19 02:51:48

标签: mysql codeigniter

我从我的数据库中获取值时遇到了一些问题,这是我的第一个数据库

ID_HARGA    ID_USER     ID_BAG_PEMASARAN    ID_ITEM     HARGA   ENTRY_DATE
1             9           1                       3     1000000     2015-01-11 09:55:27
2             9           1                       5     2000000     2015-01-13 07:19:10
5             9           1                       3     3000000     2015-01-13 13:47:32
6             9           1                       43    7000000     2015-01-13 13:49:49
13            9           1                       50    3000000     2015-01-13 17:56:54
37            9           1                       50    100     2015-01-19 09:08:20

这是第二个

ID_ITEM     NAMA_ITEM            SPEC_ITEM      MASA_GARANSI  STATUS_ITEM     DIR_IMAGE
    3       water heater emas     bagus sekali  selamanya         1      
    5       water heater tembaga  bagus super   selamanya         1      
    43      water hater           heater seupo  3                 1      water_22.jpg
    50      tankkk                50 Liter      1                 1      water_2.jpg

我知道有一些空值只是点燃它,我已经做了这个

public function get_item()
{

            //menghitung jumlah varian barang yang ada
            $querycounter = $this->db->query('select * from ITEM WHERE STATUS_ITEM = 1');
            $counter = $querycounter->num_rows();

            $this->db->select('ITEM.ID_ITEM,NAMA_ITEM,SPEC_ITEM,HARGA,DIR_IMAGE');
            $this->db->from('ITEM');
            $this->db->join('HARGA', 'ITEM.ID_ITEM = HARGA.ID_ITEM','left');
            //  $this->db->order_by('ENTRY_DATE','DESC');
            //$this->db->limit($counter);
            $this->db->where('STATUS_ITEM',1);

    //$query = $this->db->query('select  from ITEM i join HARGA h on i.ID_ITEM = h.ID_ITEM order by h.ENTRY_DATE ASC');  


            $query = $this->db->get();
            return $query->result_array();

    //$this->db->select('nama_item','spec_item');
//$query = $this->db->get('item');


}

我想要的是,只需忽略dir_image

ID_ITEM     NAMA_ITEM               HARGA       DIR_IMAGE
   3        water heater emas       1000000
   5        water heater tembaga    3000000
  43        water hater             7000000
  50        tankk                   100 

ID_item,最大数字不是旧的,所以每次我使用ID_ITEM插入id_harga

结果始终是最新的HARGA

之前的

1 个答案:

答案 0 :(得分:0)

有一点忏悔,你想在Hagra表中得到最大的hagra或最新的插入数据(如果HAGRA_ID的自动增量为1,则可以识别)。您的代码应该像

  $this->db->select('ITEM.ID_ITEM,NAMA_ITEM,SPEC_ITEM,max(HARGA),DIR_IMAGE');
  $this->db->from('ITEM');
  $this->db->join('HARGA', 'ITEM.ID_ITEM = HARGA.ID_ITEM','left');
  $this->db->where('STATUS_ITEM',1);
  $this->db->group_by('item.item_id');

这将加入你的表并选择Hagra的最大值。要使用Max函数,您需要使用group_by (CodeIgniter文档)子句,否则它将仅显示单个最大值。 Group_by将有助于显示每个组(每个项目)的最大值;

如果您想获得最新的插入数据,可以使用

使用相同的技术
$this->db->select('MAX(HAGRA_ID),ITEM.ID_ITEM,NAMA_ITEM,SPEC_ITEM,HARGA,DIR_IMAGE');