2016-05-11 4 views
-1
SELECT 
LEFT(DateName(Month, TRIPDATE),3) + ' ' + RIGHT(DateName(Year, TRIPDATE),2) AS [MonthYear], 
SUM(isnull(cast(TOTALFREIGHT as float),0)) AS FreightAmount 
FROM OFFLINETRANS 
Group By DateName(Month, TRIPDATE), DateName(Year, TRIPDATE) 
ORDER BY max(TRIPDATE) 
+0

Каков ваш ожидаемый формат результата? «Май 16»? – Arulkumar

+0

Не могли бы вы предоставить некоторые строки? Я просто хочу посмотреть, находится ли он в правильном формате. – Dorian

+0

Да, я хочу 16 мая, но в моем столе tripdate is '16/05/2016 ' –

ответ

2

Попробуйте преобразовать столбец даты/DATETIME, что-то вроде этого:

SELECT 
LEFT(DATENAME(MONTH, CONVERT(datetime, TRIPDATE, 103)) 
,3) + ' ' + RIGHT(DATENAME(YEAR, convert(datetime, TRIPDATE, 103)),2) AS [MonthYear], 
SUM(ISNULL(cast(TOTALFREIGHT as float),0)) AS FreightAmount 
FROM OFFLINETRANS 
Group By LEFT(DATENAME(MONTH, CONVERT(datetime, TRIPDATE, 103)) ,3) + ' ' + RIGHT(DATENAME(YEAR, convert(datetime, TRIPDATE, 103)),2) 
ORDER BY max(TRIPDATE) 

EDIT: не редактировать свой ответ, если у вас все еще есть проблемы, отредактируйте собственный вопрос. Если новые проблемы не связаны с исходным сообщением, вместо этого создайте новый вопрос.

+0

Спасибо. Это работает. –

+0

Тогда, пожалуйста, отметьте ответ как правильный. –

0

SELECT [MonthYear], СУММА (CAST (FreightAmount как десятичные (18,2))) Как FreightAmount FROM (SELECT, ЛЕВЫЙ (DateName (месяц, TRIPDATE), 3) + '' + RIGHT (DateName (год , TRIPDATE), 2) [MonthYear], СУММА (TRIPCOST) А.С. FreightAmount, макс (TRIPDATE) КАК UsedForOrder ОТ TransView GROUP BY DateName (месяц, TRIPDATE), DateName (год, TRIPDATE)

UNION ALL ВЫБОР LEFT (DATENAME (MONTH, CONVERT (DATETIME, TRIPDATE, 103)), 3) + '' + RIGHT (DATENAME (YEAR, convert (DATETIME, TRIPDATE, 103)), 2) AS [MonthYear], SUM (ISNULL (cast (TOTALFREIGHT AS FLOAT), 0)) AS FreightAmount, max (CONVERT (DATETIME, TRIPDATE, 103)) AS UsedForOrder FROM OFFLINETRANS GROUP BY LEFT (DAT ENAME (MONTH, CONVERT (DATETIME, TRIPDATE, 103)), 3) + '' + RIGHT (DATENAME (YEAR, convert (DATETIME, TRIPDATE, 103)), 2)

) AS A GROUP BY [MonthYear] ORDER BY max (UsedForOrder)

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

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