Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/08/2013, 09:00
rober18
 
Fecha de Ingreso: mayo-2013
Ubicación: cali
Mensajes: 58
Antigüedad: 11 años
Puntos: 0
agregar alias a un campo despues de "where"

buenos dias.

primero aclaro que estoy utilizando la herramienta grocery crud de codeigniter.

tengo esta consulta, con un join, hecha mediante active record:

Código PHP:
    $this->db->select('dp.nom_dpto');
    
$this->db->from('datos_factura df');
    
$this->db->join('establecimientos es','df.id_estab = es.id');
    
$this->db->join('ciudades ci','es.id_ciudad = ci.id_ciudad');
    
$this->db->join('dptos dp','ci.id_dpto = dp.id_dpto'); 
esto, obviamente, para traer un campo de otra tabla y mostrarlo en la tabla generada por el grocery crud.

pero cuando voy al navegador, y quiero modificar uno de los registros sale este error:

Código:
Column 'id' in where clause is ambiguous


SELECT `dp`.`nom_dpto` FROM (`datos_factura` df, `datos_factura`) JOIN `establecimientos` es ON `df`.`id_estab` = `es`.`id` JOIN `ciudades` ci ON `es`.`id_ciudad` = `ci`.`id_ciudad` JOIN `dptos` dp ON `ci`.`id_dpto` = `dp`.`id_dpto` WHERE `id` = '15'
ahora bien, descubri que este error es por que despues del WHERE, en la siguiente linea: `id` = '15', hay que agregar el alias correspondiente a la tabla que estoy utilizando es decir que quedaria asi: ` df`.`id` = '15' entonces mi pregunta real es esta:

¿como hago para colocar ese "alias" en id que esta despues del where?

tengan en cuenta de que, como estoy utilizando codeigniter, este debe ser un proceso diferente al de cualquier sql


gracias por su ayuda