lib/dataset/query.js
function (opts) {
            opts = isUndefined(opts) ? {} : opts;
            var fs = {};
            var nonSqlOptions = this._static.NON_SQL_OPTIONS;
            Object.keys(this.__opts).forEach(function (k) {
                if (nonSqlOptions.indexOf(k) === -1) {
                    fs[k] = null;
                }
            });
            return this.mergeOptions(fs).from(opts["alias"] ? this.as(opts["alias"]) : this);
        }
function (opts) {
            opts = isUndefined(opts) ? {} : opts;
            var fs = {};
            var nonSqlOptions = this._static.NON_SQL_OPTIONS;
            Object.keys(this.__opts).forEach(function (k) {
                if (nonSqlOptions.indexOf(k) === -1) {
                    fs[k] = null;
                }
            });
            return this.mergeOptions(fs).from(opts["alias"] ? this.as(opts["alias"]) : this);
        }
function ( opts ) { opts = isUndefined ( opts ) ? { } : opts ; var fs = { } ; var nonSqlOptions = this . _static . NON_SQL_OPTIONS ; Object . keys ( this . __opts ) . forEach ( function ( k ) { if ( nonSqlOptions . indexOf ( k ) === - 1 ) { fs [ k ] = null ; } } ) ; return this . mergeOptions ( fs ) . from ( opts [ "alias" ] ? this . as ( opts [ "alias" ] ) : this ) ; }
Returns a dataset selecting from the current dataset.
Supplying the alias option controls the alias of the result.

@example

ds = DB.from("items").order("name").select("id", "name")
//=> SELECT id,name FROM items ORDER BY name

ds.fromSelf().sql;
//=> SELECT * FROM (SELECT id, name FROM items ORDER BY name) AS t1

ds.fromSelf({alias : "foo"}).sql;
//=> SELECT * FROM (SELECT id, name FROM items ORDER BY name) AS foo

@param {Object} [opts] options
@param {String|patio.sql.Identifier} [opts.alias] alias to use

@return {patio.Dataset} a cloned dataset with the FROM clause set as the current dataset.
Returns a dataset selecting from the current dataset . Supplying the alias option controls the alias of the result .