2012-09-29 32 views
0

我有在SQL Server 2012下完全正常的工作查询:SQL Server 2012的查询将不会保存为视图

SELECT 
    iif(((DATEPART(dw, MeasurementTime) + @@DATEFIRST) % 7) < 2,'Weekend','Weekday') AS PartOfWeek, 
    Seasons.Label AS Season, 
    CONVERT(TIME,MeasurementTime) AS TimeOfDay, 
    FeederLoads.FeederNo AS FeederNo, 
    Avg(FeederLoads.kVA) AS Mean, 
    StDev(FeederLoads.kVA) AS StdDev 
FROM 
    FeederLoads INNER JOIN 
    Seasons 
    ON Month(FeederLoads.MeasurementTime) = Seasons.Month1 OR 
     Month(FeederLoads.MeasurementTime) = Seasons.Month2 OR 
     Month(FeederLoads.MeasurementTime) = Seasons.Month3 
GROUP BY 
    ((DATEPART(dw, MeasurementTime) + @@DATEFIRST) % 7), 
    Seasons.Label, 
    CONVERT(TIME,MeasurementTime), 
    FeederLoads.FeederNo; 

当我复制并粘贴查询到视图定义的SQL窗格窗口,但是,视图无法保存。

该错误消息我得到的是:

错误的函数参数列表:“<”无法识别。无法通过 解析查询文本。

任何想法为什么?

回答

3

您似乎在查询设计器中运行该代码。不幸的是,并不是所有的设计师都是平等的 - 所以只需要将代码运行到SQL Server Management Studio查询窗口即可。

http://sqlfiddle.com/#!6/59d86/1/0

这是从在SQL视图中创建一些非常复杂的MS Access查询没有什么不同。

+0

是的,这是正确的 - 澄清,使用上述查询在SSMS视图定义窗口中的视图不起作用,在标准查询设计器窗口中使用@ Richardakacyberkiwi的查询工作正常。 –