首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不支持SQL联接表达式

不支持SQL联接表达式
EN

Stack Overflow用户
提问于 2014-06-21 02:06:38
回答 1查看 2.1K关注 0票数 1

以下是我的查询:

代码语言:javascript
复制
SELECT 
   UT.AgentName AS [Agent Name], 
   UT.TeamName AS Team, 
   Format(Now(),"Short Date") AS [As Of], 
   Sum(I.RegPointValue) AS Points
FROM 
   (SELECT 
       UU.AgentID, 
       (Nz(UU.LastName,'')+", "+Nz(UU.FirstName,'')) AS AgentName , 
       TT.TeamName 
    FROM 
       Users AS UU 
      INNER JOIN 
       Teams AS TT 
      ON UU.TeamID = TT.TeamID) AS UT 
 LEFT JOIN 
    (InfractionTypes AS I 
   INNER JOIN 
      (DateCodes AS D 
     INNER JOIN 
        AquiredInfractions AS AI 
     ON D.DateID = AI.DateID) 
   ON I.InfractionID = AI.InfractionID)
 ON UT.AgentID = AI.AgentID
WHERE (((D.DateValue)>=#4/1/2014#))
GROUP BY UT.TeamName, UT.AgentName, I.RegPointValue;

这样做的目的是总结一个人将得到的所有分数,取决于他们所收到的出勤违规情况。如果我将LEFT JOIN更改为INNER JOIN,则查询有效,但只返回收到出勤违规行为的人员的姓名。但我想要的是,它返回所有的人的名字,并有0作为他们的积分,如果他们没有收到任何。

当我试图保存或执行时,我得到的错误是Join expression not supported。在过去的几个小时里,我一直试图通过扰乱连接的顺序来使它发挥作用,但没有结果。使用,2013年。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-21 02:15:07

你漏掉了一些化名。

每个用作表的内部查询都必须给出别名,在连接它们时,必须使用别名,并且在联接条件下只能使用选定的列。

例如,在这些行中添加别名:

代码语言:javascript
复制
...
    ON D.DateID = AI.DateID) AS SOMETHING_1
  ON I.InfractionID = AI.InfractionID) AS SOMETHING_2

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24337630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档