2013-03-29 4 views
0

Это может быть простой вопрос, но, на удивление, я не нашел ничего подходящего здесь. Я сделал запрос, в котором я форматировал число как валюту. частности:Доступ не сортирует валюту по общему значению - SQL - Rank

Format((Sum([CombineTables].[Total Extended Price])),'Currency') 

Теперь, когда я пытаюсь разобраться в Access это делает что-то вроде этого:

$9,994,340.95 
$9,200.50 
$9.75 
$8,000,0000.00 
$4,000 
$1,000,000,000.00 

Я хотел бы ранжировать их через SQL и сортировку я думаю, что было бы самым простым способом сделай это. Знаете ли вы, как исправить эти проблемы, результаты по-прежнему должны быть в формате валюты.

Спасибо заранее

+2

выглядит так, как будто он обрабатывает/сортирует его как строку, вы должны добавить еще один столбец для 'Sum ([CombineTables]. [ Общая расширенная цена]) 'и сортировать по этому. в конструкторе запросов вы можете проверить/снять флажок для отображения его на выходе iirc –

+0

Хорошее обходное решение, спасибо ... Я хотел бы отметить ваш комментарий как ответ для вашего кредита и избежать ненужных чтений - Но не удалось , Повторите попытку через некоторое время. Спасибо. – Dm3k1

ответ

1

смотрит на меня, как это лечение/сортировка его в виде строки, вы должны добавить еще один столбец «» для Sum([CombineTables].[Total Extended Price]) и сортировки по этому вопросу. в конструкторе запросов вы можете проверить/снять флажок для отображения его на выходе iirc

1

Ну, один из вариантов является order by исходное значение:

order by Sum([CombineTables].[Total Extended Price]) 

Если вы не можете сделать это по какой-то причине и все имеет тот же формат, использование этот трюк:

order by len(TotalExtendedPrice), TotalExtendedPrice 

(или что бы то ни было колонка).

Вы можете обрабатывать десятичные этот трюк:

order by len(TotalExtendedPrice) - iif(TotalExtendedPrice like '*.*', 3, 0), 
     TotalExtendedPrice 
+0

Это классный трюк, но я не думаю, что он будет работать в его случае, потому что с даты выборки иногда он включает в себя десятичные числа, а иногда и нет, поэтому ваш сорт будет стоить $ 1,000.00 как больше, чем $ 9,999 –

+0

Прохладный трюк, который пригодится наверняка! – Dm3k1

Смежные вопросы