Exemple #1
0
 /**
  * Compiles a SELECT query.
  *
  * @access  public
  * @param   SQLStatement    $select
  * @return  array
  */
 public function select(SQLStatement $select)
 {
     $sql = $select->getDistinct() ? 'SELECT DISTINCT ' : 'SELECT ';
     $sql .= $this->handleColumns($select->getColumns());
     $sql .= $this->handleInto($select->getIntoTable(), $select->getIntoDatabase());
     $sql .= ' FROM ';
     $sql .= $this->handleTables($select->getTables());
     $sql .= $this->handleJoins($select->getJoins());
     $sql .= $this->handleWheres($select->getWheres());
     $sql .= $this->handleGroupings($select->getGroupBy());
     $sql .= $this->handleOrderings($select->getOrder());
     $sql .= $this->handleHavings($select->getHaving());
     $sql .= $this->handleOffset($select->getOffset(), $select->getLimit());
     $sql .= $this->handleLimit($select->getLimit(), $select->getOffset());
     return $sql;
 }