我有一张数据表如下:
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应该出现。是否可以像我一样创建列,对数据进行排序,然后删除该列或不返回它?
答案 0 :(得分:0)
SELECT field1, field2, RealData
FROM mytable
ORDER BY field1, field2, FormatRealData(RealData)