Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/01/2010, 02:31
Aragorn_miki
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 10 meses
Puntos: 0
Consultas con Zend_Db

Hola tengo un problema, y es que tengo una consulta a una base de datos, pero quiero poder realizar la misma consulta a otras bases de datos, ese tema ya lo tengo medio controlado.

El problema es que las estructuras de las bases de datos son las mismas pero el nombre de las tablas que quiero consultar no (de echo es solo una tabla de cada base de datos).

Quiero poder modificar esa tabla (solo el nombre de la tabla) y que realize exactamente lo mismo (realmente es una modificacion de la pagina web para añadirle funcionalidaes).

Creo que podria hacer algo asi para seleccionar un nombre de tabla o otro dependiendo de la url que se ingrese.

Código:
protected function _setupTableName()
    {
        //dependiendo de la url elegimos 
		if url= *.com
			$this->_name = 'table1';
			parent::_setupTableName();
		elseif url = *.fr
			$this->_name = 'table2';
			parent::_setupTableName();		
    }
Como podria hacer el select? yo lo tengo asi actualmente:

public function getLastQueryErrorsByHour($date,$date_next,$hour){

Código:
$select = " select EXTRACT(HOUR from temp.fecha) as hora, count(*) as total
		from (
			select *
			from table1
			where fecha between '".$date."' AND ".$date_next."'
			and root_cause like 'coldfusion.runtime.RequestTimedOutException%'
		) as temp
		group by hora
		order by 1;";

		$stmt =$this->_db->query($select);
		$result = $stmt->fetchAll();

		return $result;
}
Me podrias dar la alternativa con los select() ->from()->where() ??
donde la tabla es la anterior seleccionada con el if? Porque no se hacerlo.

Gracias.