首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决以下嵌套连接函数错误

如何解决以下嵌套连接函数错误
EN

Stack Overflow用户
提问于 2019-10-29 09:02:29
回答 1查看 44关注 0票数 0

基本数据:

代码语言:javascript
复制
-----------------------
Date      | ID |   PL |
-----------------------
16.09.2019| 21 |    0 |
17.09.2019| 21 |    0 |
18.09.2019| 21 |    1 |
19.09.2019| 21 |    2 |

预期产出:

代码语言:javascript
复制
-----------------------------------
Date      | ID |   PL |  ZC | TC |
-----------------------------------
16.09.2019| 21 |    0 |  2  |  4  |
17.09.2019| 21 |    0 |  2  |  4  |
18.09.2019| 21 |    1 |  2  |  4  |
19.09.2019| 21 |    2 |  2  |  4  |

代码使用的是单个联接函数,而不是下面的代码。

代码语言:javascript
复制
SELECT [4G].*,Z.ZC,T.TC
FROM 4G
LEFT JOIN (SELECT COUNT([4G].[ID]) AS ZC, [4G].[ID]
FROM 4G
WHERE [4G].[PL] =0
GROUP BY [4G].[ID])
AS Z
ON [4G].[ID] = Z.[ID]
LEFT JOIN (SELECT COUNT([4G].[ID]) AS TC, [4G].[ID]
FROM 4G
GROUP BY [4G].[ID])
AS T
ON [4G].[ID] = T.[ID];

显示的错误是:

代码语言:javascript
复制
"Syntax Error(missing operator) in query expression
'[4G].[ID] = Z.[ID]
LEFT JOIN (SELECT COUNT([4G].[ID]) AS TC, [4G].[ID]
FROM 4G
GROUP BY [4G].[ID])
AS T
ON [4G].[ID] = T.[ID]'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-30 07:18:25

Access需要对每对连接表在另一个联接之前使用括号:

代码语言:javascript
复制
SELECT [4G].*,Z.ZC,T.TC
FROM ([4G]
LEFT JOIN (
  SELECT COUNT([4G].[ID]) AS ZC, [4G].[ID]
  FROM [4G]
  WHERE [4G].[PL] =0
  GROUP BY [4G].[ID]
) AS Z ON [4G].[ID] = Z.[ID])
LEFT JOIN (
  SELECT COUNT([4G].[ID]) AS TC, [4G].[ID]
  FROM [4G] 
  GROUP BY [4G].[ID]
) AS T ON [4G].[ID] = T.[ID];

结果:

代码语言:javascript
复制
Date        ID  PL  ZC  TC
16/9/2019   21  0   2   4
17/9/2019   21  0   2   4
18/9/2019   21  1   2   4
19/9/2019   21  2   2   4
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58604162

复制
相关文章

相似问题

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