to use the result column(s) of sub-select in another query expression; name or index can be specified.
Following section demonstrates using UNION clause.
// Table Aliases
var t0 = new Orders().AsQueryable();
var t1 = new OrderDetails().AsQueryable();
var sql1 = Odb.SQL.Select(x =>
x.From(t0)
.GroupBy(t0.EmployeeID)
.Fields(x["T1"].AS("Type"),
x[t0.EmployeeID].AS("Id"),
x[t0.OrderID].MAX().AS("OrderID"))
);
var sql2 = Odb.SQL.Select(x =>
x.From(t1)
.GroupBy(t1.ProductID)
.Fields(x["T2"].AS("Type"),
x[t1.ProductID].AS("Id"),
x[t1.OrderID].MAX().AS("OrderID"))
);
// Query
var query = Odb.SQL.{{hl}}Union{{/hl}}(x =>
{{hl}}x.RemoveDuplicates(){{/hl}}
{{hl}} .Add(sql1){{/hl}}
{{hl}} .Add(sql2){{/hl}}
.Top(5)
.OrderASC(sql1[0]).OrderASC(sql1[1]).OrderDESC(sql1["OrderID"])
);
R4nvtn