public function get()
    {
        $q = "SELECT " . $this->fields . " FROM `" . $this->table . "` " . $this->join;
        if ($this->condition) {
            $q .= " WHERE {$this->condition}";
        }
        if ($this->group) {
            $q .= " GROUP BY {$this->group}";
            if ($this->having) {
                $q .= " HAVING {$this->having}";
            }
        }
        if ($this->order) {
            $q .= " ORDER BY {$this->order}";
        }
        if ($this->limit) {
            $q .= " LIMIT {$this->limit}";
        }
        if ($this->offset) {
            $q .= " OFFSET {$this->offset}";
        }
        if ($this->procedure) {
            $q .= " PROCEDURE {$this->procedure}";
        }
        if ($this->into) {
            $q .= " INTO {$this->into}";
        }
        if ($this->for_update) {
            $q .= " FOR UPDATE";
        }
        if ($this->lock_in_share_mode) {
            $q .= " LOCK IN SHARE MODE";
        }
        return $this->connection->queryAssoc($q, $this->params);
    }