В SQL
вы можете использовать union all
:
select t.*
from ( (select date, 'element1' as elements, element1 from table t) union all
(select date, 'element2' as elements, element2 from table t) union all
(select date, 'element3' as elements, element3 from table t) union all
. . .
) t
order by date, elements;
Примечание: разные базы данных имеют свой собственный вариант для выполнения этого по-разному.