This is my first attempt at answering my own question, since someone may well run into this and so it might be of help. Using Firebird, I want to combine the results of two queries using UNION ALL, then sort the resulting output on a given column. Something like:
(select C1, C2, C3 from T1)
union all
(select C1, C2, C3 from T2)
order by C3
The parentheses came from valid syntax for other databases, and are needed to make sure the arguments to UNION ALL (an operation that's defined to work on tables - i.e. an unordered set of records) don't try to be ordered individually. However I couldn't get this syntax to work in Firebird - how can it be done?
Field names are not required to be equal. That's why you can't use the field name in the order by.
You may use the field index instead. As in:
Moving
order by
into a query tail has no effect to output datagrid.Perform the UNION ALL in a view (without the ORDER BY clause), then select from the view using ORDER BY.
In Firebird 1.5 this works for me
and then
How about:
At least in the newer Firebird Versions it works if you order by "Number" instead of using an Alias.