Выбрать из вида | Заказ не работает - PullRequest
1 голос
/ 07 июня 2011

У меня есть одно представление с именем [AccountsLedger] с именем поля даты [Date].Когда я использую этот запрос, порядок по не работает:

SELECT CONVERT(varchar,[Date],103) as [Date]
                          ,[VoucherType]
                          ,[BillNo]
                          ,[Debit]
                          ,[Credit]
                      FROM [AccountsLedger]
                      order by [Date]

Результаты:

Date    VoucherType BillNo  Debit   Credit
01/06/2011  SALE    18  8400.00 0.00
03/06/2011  BEEJAK  15  0.00    24944.40
12/12/2009  PAYMENT 1   1000.00 0.00
12/12/2011  JOURNAL 1   800.00  0.00
12/12/2012  RECEIPT 4   0.00    1200.00
12/12/2016  RECEIPT 5   0.00    600.00

Пожалуйста, помогите.

Ответы [ 2 ]

6 голосов
/ 07 июня 2011

Попробуйте это

SELECT CONVERT(varchar,[Date],103) as [Date]
                      ,[VoucherType]
                      ,[BillNo]
                      ,[Debit]
                      ,[Credit]
FROM [AccountsLedger]
ORDER by [AccountsLedger].[Date]

Проблема в том, что ваш запрос сортируется по вновь сформированному строковому значению, которое вы назвали так же, как поле даты / времени в таблице. Таким образом, чтобы решить проблему, вам нужно иметь разные имена для значения строки результата и базового поля или указать префикс таблицы.

2 голосов
/ 07 июня 2011

Похоже, ваше поле имеет тип varchar, а не дата.Попробуйте вместо этого:

SELECT CONVERT(varchar,[Date],103) as [Date]
                          ,[VoucherType]
                          ,[BillNo]
                          ,[Debit]
                          ,[Credit]
                      FROM [AccountsLedger]
                      order by CONVERT(varchar,[Date],102)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...