2015-05-16 3 views
1

Как мне получить имя будний день после OrderH_dtmInitiated колонкиКак получить будние дни из запроса?

SELECT 
    Convert(char(8), OrderH_dtmInitiated, 112) AS BookingDate, 
    --(To derived weekdays name from OrderH_dtmInitiated namely weekdays here) 
    [OrderH_strEmailConfirmationSent], [OrderH_strEmail] 
FROM 
    [VISTAIT].[dbo].[tblOrderHistory] 
WHERE 
    OrderH_strEmailConfirmationSent IS NULL 
    AND OrderH_dtmInitiated >= (SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()-1))) 
ORDER BY 
    Convert(char(8), OrderH_dtmInitiated, 112) 

ответ

0

Вы можете использовать datename:

SELECT 
    Convert(char(8), OrderH_dtmInitiated, 112) As BookingDate, 
    Datename (weekday, OrderH_dtmInitiated) As NameOfDay, 
    [OrderH_strEmailConfirmationSent] 
    ,[OrderH_strEmail] 
FROM [VISTAIT].[dbo].[tblOrderHistory] 
WHERE OrderH_strEmailConfirmationSent is NULL And OrderH_dtmInitiated >= (SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()-1))) 
ORDER by Convert(char(8), OrderH_dtmInitiated, 112) 
+0

меняю запрос, как указано выше, но он ы не работает больше –

+0

@EugeneJONG Операционный запрос и у этого нет предложения 'group by'. Если у вас есть другой вопрос, пожалуйста, используйте другой пост, чтобы спросить об этом. – Mureinik

+0

Mureinik, не могли бы вы помочь на вышеупомянутом? запрос после того, как я пересмотрел его работу больше –

0
SELECT 
Convert(char(8), OrderH_dtmInitiated, 112)as datebooking, 
    Datename (weekday, OrderH_dtmInitiated) As NameOfDay, 
    count(distinct OrderH_strCinemaId)as cinemassite, 
    count(distinct OrderH_intID)as TotalBookingMade, 
    SUM(case when OrderH_strEmailConfirmationSent like 'Y' then 1 else 0 end) as OrderH_strEmailConfirmationSent, 
    SUM(case when OrderH_strEmailConfirmationSent is NULL then 1 else 0 end) as EmailHavingNull 

FROM [VISTAIT].[dbo].[tblOrderHistory] 
WHERE OrderH_dtmInitiated >= '2015-05-07' 
GROUP BY Convert(char(8), OrderH_dtmInitiated, 112) 
ORDER by Convert(char(8), OrderH_dtmInitiated, 112) 
+0

это произойдет с ошибкой «Столбец» VISTAIT.dbo.tblOrderHistory.OrderH_dtmInitiated 'недопустим в списке выбора, потому что он не содержится ни в агрегатной функции, ни в предложении GROUP BY « –

+0

Глядя на ответ выше qns после добавления в группу по пункту –

+0

Добавьте новый столбец в GROUP BY, тоже – dnoeth