SQL: ')' 附近有语法错误如何解决

WITH Category As(SELECT 
                       DISTINCT SOH.SalesOrderID,
                       CASE 
                       WHEN MONTH(SOH.OrderDate) BETWEEN 7 AND 12 THEN DATEPART(YEAR,DATEADD(YEAR, 1,SOH.OrderDate)) 
                       ELSE YEAR(SOH.OrderDate) END AS [FY],
                       DATEPART(quarter,DATEADD(month,-6,SOH.OrderDate)) AS [FQ],
                       PPC.Name,       
                       SOH.OnlineOrderFlag
                FROM   [AdventureWorks2016].[Sales].[SalesOrderHeader] AS SOH
                       JOIN [AdventureWorks2016].[Sales].[SalesOrderDetail] AS SOD
                       ON SOH.SalesOrderID = SOD.SalesOrderID
                       JOIN [AdventureWorks2016].[Production].[Product] AS PP
                       ON SOD.ProductID = PP.ProductID
                       JOIN [AdventureWorks2016].[Production].[ProductSubcategory] AS PPS
                       ON PP.ProductSubcategoryID = PPS.ProductSubcategoryID
                       JOIN [AdventureWorks2016].[Production].[ProductCategory] AS PPC
                       ON PPS.ProductCategoryID = PPC.ProductCategoryID
                WHERE  SOH.OrderDate BETWEEN '2011-07-01' AND '2014-07-01'
                )

大概内容是把几个表的内容做整合,然后在最后一个括号这个地方显示有错误,想知道是什么情况

虽然看上去很复杂,你可以先把where子句先去掉看看会不会报错,如果没有说明条件子句有问题,考虑下是不是字段类型不匹配

错误都不贴完整怎么看,猜测可能是某些字段写的不对应