У меня есть Informix код:Сортировка по одному столбцу
select data as DATA from (
(select distinct('Date|Message_Type|Total') as data,0 as sort from dual)
union
(select 'dt: '||day||'|'||trim(msg_type)||'|'||nvl(round(total,2),0) as data,1 as sort from weekly_report_1)
)order by sort)
Выход:
data1
Date|Message_Type|Total
dt: 02/10/2015|1440|0.00
dt: 02/10/2015|Total|-26290965.84
dt: 02/11/2015|1240|-23550538.87
dt: 02/11/2015|1440|0.00
dt: 02/11/2015|Total|-23550538.87
dt: 02/10/2015|1240|-26290965.84
dt: 02/12/2015|1240|-24181913.23
dt: 02/14/2015|Total|0.00
dt: 02/12/2015|1440|0.00
dt: 02/12/2015|Total|-24181913.23
dt: 02/13/2015|1240|-24611999.80
dt: 02/13/2015|1440|0.00
dt: 02/13/2015|Total|-24611999.80
dt: 02/14/2015|1240|0.00
dt: 02/14/2015|1440|0.00
Когда я пытаюсь сделать следующее:
select * from(
select data as DATA1 from (
(select distinct('Date|Message_Type|Total') as data,0 as sort from dual)
union
(select 'dt: '||day||'|'||trim(msg_type)||'|'||nvl(round(total,2),0) as data,1 as sort from weekly_report_1)
)order by sort) order by DATA1;
Я получаю:
Error: General error.Syntax error (State:37000, Native Code: FFFFD4CC)
Мне нужно отсортировать стол.
Выбор 1 как 'sort', а затем упорядочение по' sort' гарантированно не сортировать. Независимо от ваших данных. –
Не тестировалось, но как быстрая пункция (при условии, что вы хотите отсортировать по дате ... 'select different ('Date | Message_Type | Total') как данные от двойного union (выберите 'dt:' || day | | '|' || trim (msg_type) || '|' || nvl (round (total, 2), 0) как данные из weekly_report_1 по порядку) ' –
На самом деле, попробовав это в базе данных Oracle, проблема Возможно, вы не можете указать порядок в подзапросе в объединении. Однако [это] (http://stackoverflow.com/questions/213851/sql-query-using-order-by-in-union) статья имеет рабочий раунд ... 'select different ('Date | Message_Type | Total') в качестве данных из двойного union выберите * from (выберите 'dt:' || day || '|' || trim (msg_type) || '|' || nvl (round (total, 2), 0) как данные из weekly_report_1 по порядку); ' –