使用联接库时,如何在codeigniter上创建别名


How do I make aliases on codeigniter when using the join library

我尝试在查询中添加别名,这样就不会出现表不唯一的错误。

正如你所看到的,我在后面放了一个新名字'as',但这给了我一个错误。我怎么做错了
这就是我的模型:

<?php 
class Joins_model extends CI_Model{
    private $table = 'cm_proveedor, cm_compras, cm_valuacion, cm_valuacionr, cm_nomina, cm_empleado';
    function _construct(){
       parent::Model();
    }
    function get_reg($data){
        $this->db->select('
                            cm_valuacion.tipo_r AS valR,
                            cm_valuacion.mano_obra AS valM,
                            cm_valuacion.hojalateria AS valH,
                            cm_valuacion.pintura AS valP,
                            cm_valuacion.mecanica AS valMec,
                            cm_valuacion.refaccion AS valRef,
                            cm_valuacion.shojalateria AS valSH,
                            cm_valuacion.tipo AS valT,
                            cm_valuacion.spintura AS valSP,
                            cm_valuacion.costoHojalateria AS valCH,
                            cm_valuacion.smecanica AS valSM,
                            cm_valuacion.costoPintura AS valCP,
                            cm_valuacion.costoMecanica AS valCM,
                            cm_valuacion.pv_hojalateria AS valPH,
                            cm_valuacion.pv_pintura AS valPP,
                            cm_valuacion.pv_mecanica AS valPM,
                            cm_valuacion.pc_hojalateria AS valPH,
                            cm_valuacion.pc_pintura AS valPPin,
                            cm_valuacion.pc_mecanica AS valPMec,
                            cm_compras.precio,
                            cm_proveedor.nombre,
                            cm_nomina.nomina,
                            cm_empleado.nombre,
                            cm_nomina.id_nomina_gral
                            ',FALSE);
        $this->db->from('cm_valuacion');
        $this->db->join('cm_valuacionr','cm_valuacionr.id_siniestro = cm_valuacion.id_siniestro');
        $this->db->join('cm_compras','cm_valuacionr.id_siniestro = cm_compras.id_siniestro');
        $this->db->join('cm_proveedor','cm_proveedor.id = cm_compras.id_proveedor');
        $this->db->join('cm_nomina','cm_nomina.id_siniestro = cm_compras.id_siniestro');
        $this->db->join('cm_empleado','cm_nomina.id_empleado = cm_empleado.id');
        $this->db->join('cm_nomina_gral','cm_nomina.id_nomina_gral = cm_nomina_gral.id');
        $this->db->where('cm_valuacion.id_siniestro',$data);
        //$this->db->order_by('id','asc');
        $this->db->distinct();
        return $this->db->get($this->table);
    }

}
?>

我得到的错误是:

发生数据库错误错误编号:1066不是唯一的表/别名:"cm_valuacion"选择DISTINCT cm_valacion.tipo_r AS valR,cm_valusion.mano_obra AS valM,cm_val acion.hojalateria AS valH,cm_vallacion.pintura AS valP,cm_valiacion.mecanica AS valMec,cm_vvalacion.refaccion AS valRef,cm_valaacion.shojalateria AS valSH,cm_valoacion.tipo AS valT,cm_vala acion.spintura AS valSP,cm_valuacion.costoHojalateria AS valCH,cm_vualacion.smecanica AS valSM,cm_valacion.costoPintura AS valCP,cm_valusion.costoMecanica AS valCM,cm_val acion.pv_hojaleria AS valPH,cm_vallacion.pv_pintura AS valPP,cm_valiacion.pv_mecanica AS valPM,cm_valuacion.pc_hojalaria AS valPH,cm_valaacion.pc_pintura AS-valPPin,cm_vvalacion.pc_mecanicaAS-valPMec,cm_compras.precio,cm_proveedor.nombre,cm_nomina.nomina,cm_empleado.nombre,cm_nominame.id_nomina_gral FROM(cm_valuacioncm_proveedorcm_comprascm_valuacioncm_valuacionrcm_nominacm_empleado)在cm_valuacionr上加入cm_valuacionrid_siniestrocm_valuacionid_siniestrocm_valuacionr上加入cm_comprasid_siniestrocm_comprasid_siniestrocm_proveedor上加入cm_proveedoridcm_comprasid_proveedorcm_nomina上加入cm_nominaid_siniestrocm_comprasid_siniestrocm_nomina上加入cm_empleado。CCD_ 30=CCD_。idcm_nomina上加入cm_nomina_gralid_nomina_gralcm_nomina_gralid,其中cm_valuacionid_siniestro='6489'文件名:C:''examplep''htdocs''index''system''database''DB_driver.php线路编号:330

错误在JOIN子句中。当您多次加入同一个表时,必须为表名指定一个别名。当一个表被多次联接时,SQL不知道该引用哪个表

示例:

SELECT * FROM (cm_valuacion, cm_proveedor, cm_compras, cm_valuacion,
 cm_valuacionr, cm_nomina, cm_empleado) 
JOIN cm_valuacionr **valnr** ON **valnr**.id_siniestro = cm_valuacion.id_siniestro