选择查询星期几

问题描述:

当使用以下查询返回星期几时,我只想显示特定日期(例如星期一)并计算返回“星期一”的次数。选择查询星期几

 SELECT 
     w.[Id] 
    , w.[Name] 
    , [Status] 
    , [InitiatorPersonAliasId] 
    , p.[FirstName] 
    , p.[LastName] 
    , (SELECT TOP 1 [Value] 
     FROM [AttributeValue] av 
     INNER JOIN [Attribute] a ON a.[Id] = av.[AttributeId] 
     AND a.[EntityTypeId] = 113 
     AND a.[EntityTypeQualifierColumn] = 'WorkflowTypeId' 
     AND a.[EntityTypeQualifierValue] = w.[WorkflowTypeId] 
     WHERE [EntityId] = w.[Id] 
     AND a.[Key] = 'DayOfTheWeek' 
    ) AS [Day] 
    , (SELECT TOP 1 [Value] 
     FROM [AttributeValue] av 
     INNER JOIN [Attribute] a ON a.[Id] = av.[AttributeId] 
     AND a.[EntityTypeId] = 113 
     AND a.[EntityTypeQualifierColumn] = 'WorkflowTypeId' 
     AND a.[EntityTypeQualifierValue] = w.[WorkflowTypeId] 
     WHERE [EntityId] = w.[Id] 
     AND a.[Key] = 'Time' 
    ) AS [Time] 
FROM 
[Workflow] w 
INNER JOIN [PersonAlias] pa ON pa.Id = w.[InitiatorPersonAliasId] 
INNER JOIN [Person] p ON p.[Id] = pa.[PersonId] 
WHERE w.[WorkflowTypeId] = 1032 

任何帮助将非常感激。

谢谢!

+1

Groupy通过与伯爵的组合可能是你在找什么,去检查在谷歌的关键词!如果您有任何问题,请通知我们 – Michael 2014-12-01 23:09:10

+1

@Belairit。 。 。人们大概可以猜到在那里有一个日期列。难道不是吗? – 2014-12-01 23:40:42

你可以写为:

;With cte_DayCount as 
(
     SELECT av.[Value] as DayCount,w.[Id] AS Id 
     FROM [AttributeValue] av 
     INNER JOIN [Workflow] w ON av.[EntityId] = w.[Id] 
     INNER JOIN [Attribute] a ON a.[Id] = av.[AttributeId]   
     AND a.[EntityTypeId] = 113 
     AND a.[EntityTypeQualifierColumn] = 'WorkflowTypeId' 
     AND a.[EntityTypeQualifierValue] = w.[WorkflowTypeId] 
     AND a.[Key] = 'DayOfTheWeek' 
     WHERE [Value] Like '%Monday%' -- Add day value here 
     GROUP BY w.[Id], av.Value 
)     
SELECT COUNT(dc.DayCount) AS Total 

FROM 
[Workflow] w 
INNER JOIN [PersonAlias] pa ON pa.Id = w.[InitiatorPersonAliasId] 
INNER JOIN [Person] p ON p.[Id] = pa.[PersonId] 
INNER JOIN cte_DayCount dc ON DC.Id = w.[Id] 
WHERE w.[WorkflowTypeId] = 1032 
+0

出于某种原因返回:Msg 102,Level 15,State 1,Line 3在','附近的语法不正确。 – belairit 2014-12-02 22:44:23