build_select
Generate SELECT SQL from chosen tables, columns, aggregates, and filters. Validates names, infers foreign-key joins, assigns aliases, derives GROUP BY; returns SQL text only, never executes.
Instructions
Generate a SELECT from the cached schema: names validated, joins inferred from foreign keys (bridge tables added automatically), aliases assigned, GROUP BY derived. Returns SQL text only; nothing is executed.
tables: ["dbo.PoHeader", "dbo.Vendor"] (first = FROM; the rest are joined) columns: ["Vendor.Name", "PoHeader.OrderDate"] (Table.Column, or a bare Column when unambiguous) aggregates: [{"fn": "SUM", "column": "PoLine.Amount", "alias": "Total"}] fn: SUM COUNT COUNT_DISTINCT AVG MIN MAX filters: ["PoHeader.OrderDate >= @Start", "Vendor.Country = 'US'"] (ANDed; use @params for values) order_by: ["Total DESC"] top: 50 join_type: INNER | LEFT
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| tables | Yes | ||
| columns | No | ||
| filters | No | ||
| distinct | No | ||
| order_by | No | ||
| join_type | No | INNER | |
| aggregates | No | ||
| connection | No |