我有一张列有以下数据的表格:
field1 field2 realdata
------ ------ --------
ABC 01 1A
ABC 01 2A
ABC 01 1B
ABC 01 2B
ABC 01 10B
ABC 01 11B
ABC 01 10A
ABC 01 11A
ABC 02 10B
ABC 02 1A我需要让数据按所有三个字段进行排序。A必须组合在一起,然后是B,当然是按数字顺序排列。
我将FormatRealData创建为一个存储函数,它返回RealData为:A-01, A-10, A-02, B-11, ... etc.,这允许我获得所需的排序。
我有以下查询:
select field1, field2, RealData, FormatRealData(RealData) as SortData
from mytable
order by field1, field2, SortData现在,问题是:
上面的查询将被其他开发人员用来创建报告,我不想把SortData留在那里,因为它永远不应该出现在报表中,只有RealData应该出现。是否可以像我所做的那样创建列,对数据进行排序,然后删除该列,还是不返回该列?
发布于 2015-02-17 20:17:54
SELECT field1, field2, RealData
FROM mytable
ORDER BY field1, field2, FormatRealData(RealData)https://stackoverflow.com/questions/28570025
复制相似问题