首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Access中使用SQL对5个表进行内连接和左连接

在Access中使用SQL对5个表进行内连接和左连接
EN

Stack Overflow用户
提问于 2020-05-26 18:50:26
回答 1查看 75关注 0票数 2

我试图从以下表格中访问数据:

  1. OrgPlanYear
  2. ProjOrgPlnYrJunction
  3. DC
  4. DCMaxEEContribLevel
  5. DCNonDiscretionaryContribLevel

基本上,我需要内部连接OrgPlanYear + DC和ProjOrgPlnYrJunction,然后我需要离开联接其余的表(表4和表5),因为表1-3有我需要的所有行,而表4-5中只有一些数据。我需要每个桌子上的几个变量。我还需要WHERE函数跨所有字段(这意味着我想要一个select组( projectID=919)的所有这些数据)。

,救命!

我尝试过很多错误,包括尝试使用Design端(例如,连接函数问题、函数格式错误等等)!下面是一个排除了我需要的所有变量的例子:

代码语言:javascript
复制
SELECT 
ProjOrgPlnYrJunction.fkeyProjectID, OrgPlanYear.OrgName, DC.PlanCode, DCNonDiscretionaryContribLevel.Age,DCNonDiscretionaryContribLevel.Service

FROM 
(((OrgPlanYear INNER JOIN DC ON OrgPlanYear.OrgPlanYearID = DC.fkeyOrgPlanYearID) INNER JOIN ProjOrgPlnYrJunction ON OrgPlanYear.OrgPlanYearID = ProjOrgPlnYrJunction.fkeyOrgPlanYearID) 

LEFT JOIN
(SELECT DCNonDiscretionaryContribLevel.Age AS Age, DCNonDiscretionaryContribLevel.Service AS Service FROM DCNonDiscretionaryContribLevel WHERE ProjOrgPlnYrJunction.fkeyProjectID)=919) 

LEFT JOIN (
SELECT DCMaxEEContribLevel.EEContribRoth FROM EEContribRoth WHERE ProjOrgPlnYrJunction.fkeyProjectID)=919)

ORDER BY OrgPlanYear.OrgName;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-26 22:20:13

查询的主要问题:

对于不同子查询的LEFT JOIN.

  • Referencing和WHERE中的每个表列,
    • 都缺少ON子句(例如,在每个Access SQL requirements.

    的子查询和联接周围加上括号)。

请参见下面使用短表别名的调整后的SQL。确保使用适当的列调整SELECTON子句。

代码语言:javascript
复制
SELECT p.fkeyProjectID, o.OrgName, DC.PlanCode, dcn.Age, dcn.Service, e.EEContribRoth

FROM (((OrgPlanYear o
INNER JOIN DC 
   ON o.OrgPlanYearID = DC.fkeyOrgPlanYearID) 
INNER JOIN ProjOrgPlnYrJunction p
   ON o.OrgPlanYearID = p.fkeyOrgPlanYearID) 

LEFT JOIN
  (SELECT Age AS Age, Service AS Service 
   FROM DCNonDiscretionaryContribLevel
   WHERE fkeyProjectID = 919) AS dcn
     ON dcn.fkeyProjectID = p.fkeyOrgPlanYearID)

LEFT JOIN 
  (SELECT EEContribRoth 
   FROM EEContribRoth 
   WHERE fkeyProjectID = 919) AS e
     ON e.fkeyProjectID = p.fkeyProjectID

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

https://stackoverflow.com/questions/62029276

复制
相关文章

相似问题

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