public function fetch($structure = 'rows', $noCache = false)
	{
		// Build and hash query
		$query = $this->buildQuery();
		$key   = hash('md5', $structure . $query . serialize($this->syntax->getBindings()));

		// Check cache for results first
		if ($noCache || !isset(self::$cache[$key]))
		{
			self::$cache[$key] = $this->query($query, $structure);
		}

		// Clear elements
		$this->reset();

		return self::$cache[$key];
	}