derived method
The rows this projection returns, usable where a table is.
Pass as when a single query holds more than one derived table, so their
names cannot collide.
Implementation
Derived3<V0, V1, V2> derived({String? as}) {
final prepared = prepareDerived<(V0, V1, V2)>(this);
return derivedTable<Derived3<V0, V1, V2>, (V0, V1, V2)>(
as ?? defaultDerivedName(config),
($) => Derived3<V0, V1, V2>(
$,
ColumnType(
derivedColumn<(V0, V1, V2), V0>($, prepared, 0, (r) => r.$1)),
ColumnType(
derivedColumn<(V0, V1, V2), V1>($, prepared, 1, (r) => r.$2)),
ColumnType(
derivedColumn<(V0, V1, V2), V2>($, prepared, 2, (r) => r.$3)),
),
prepared.query,
);
}