public function fromSub($query, $as)
	{
		$bindings = [];
		if( $query instanceof Closure )
		{
			$callback = $query;
			$callback($query = $this->newQuery());
		}

		if( $query instanceof self )
		{
			$bindings = $query->getBindings();
			$query = $query->toSql();
		}
		else if( !is_string($query) )
		{
			throw new InvalidArgumentException;
		}

		$this->from = new Expression('('. $query .') as '.$this->grammar->wrap($as));
		$this->setBindings($bindings, 'from');

		return $this;
	}