Overview
TDataSelect is used for:- Selecting specific columns
- Filtering rows based on conditions
- Sorting results
- Removing duplicate rows (DISTINCT)
- Pagination (LIMIT/OFFSET)
- Joining related data
Class Definition
Properties
Items
Collection of columns to select. Each item represents a field or expression.Distinct
Remove duplicate rows from results.Filter
Expression to filter rows.Max (LIMIT)
Maximum number of rows to return.Start (OFFSET)
Number of rows to skip.SortBy
Sorting order for results.Methods
Add (Column)
Adds a column to the selection.Data field to select
Add (Expression)
Adds a computed column.Expression to evaluate
Calculate
Executes the query and returns results. Returns: TDataItem with selected dataMainData
Returns the primary data source. Returns: TDataItemExamples
Basic Selection
SELECT with WHERE
SELECT DISTINCT
Sorting
Multiple Sort Columns
Pagination
Computed Columns
Case-Insensitive Filtering
Complex Filter
Joining Related Data
Using IN Operator
Date Range
Text Search
TOP N Records
Excluding NULL Values
Convert to SQL
Comparison with TSummary
| Feature | TDataSelect | TSummary |
|---|---|---|
| Purpose | Row selection | Aggregation |
| Grouping | No | Yes |
| Aggregates | No | Yes (Sum, Count, etc.) |
| Filtering | Yes (WHERE) | Yes (WHERE and HAVING) |
| Sorting | Yes | Yes |
| Distinct | Yes | N/A |
| Pagination | Yes | No |
| Pivot Tables | No | Yes |
Performance Tips
Index Filters
Use indexed fields in filters for better performance:Limit Columns
Select only needed columns:Use Pagination
For large datasets, use pagination:See Also
- TBIQuery - High-level query component
- TSummary - Aggregation and grouping
- TBISQL - SQL syntax support
- TExpression - Expression filtering
