【问题标题】:Subquery: Help correcting syntax errors子查询:帮助纠正语法错误
【发布时间】:2014-01-06 18:08:19
【问题描述】:

当我尝试运行以下子查询时,我收到以下 2 个错误: 消息 156,级别 15,状态 1,第 11 行 - 关键字“SELECT”附近的语法不正确。 消息 102,级别 15,状态 1,第 13 行 - ')' 附近的语法不正确。

SELECT
RIGHT(A.Name,LEN(Name)-5) AS ASSOCIATE
,B.WeekEnding
,COUNT(B.ID)AS Policies
,SUM (B.Amount) AS Premium


FROM
dbo.Users A
INNER JOIN (SELECT*,
SELECT DATEADD(DAY,(12-DATEPART(WEEKDAY,CreateDate)%7)-6,CreateDate)
WeekEnding
FROM dbo.Policy) B
ON A.User = B.Agent 

WHERE
B.CreateDate >= CONVERT (DATE,GETDATE()))


GROUP BY A.Name, B.WeekEnding
ORDER BY Policies DESC, Premium DESC

【问题讨论】:

  • 您使用的是什么 DBMS? MySQL、SQL Server、SQLite、Oracle?

标签: subquery


【解决方案1】:

您在子查询中有一个额外的SELECT。应该是:

(SELECT *,
        DATEADD(DAY,(12-DATEPART(WEEKDAY,CreateDate)%7)-6,CreateDate) WeekEnding
 FROM dbo.Policy)

你还有一个额外的括号:

WHERE
B.CreateDate >= CONVERT (DATE,GETDATE()))
                                        ^

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 2016-02-13
    • 2012-08-02
    • 2014-03-02
    • 2012-03-13
    • 2016-10-01
    • 1970-01-01
    相关资源
    最近更新 更多