gpt4 book ai didi

sql - 使用 SQL 对 Access 中的 5 个表进行内连接和左连接

转载 作者:行者123 更新时间:2023-12-04 09:49:32 30 4
gpt4 key购买 nike

我正在尝试 Access 下表中的数据:

  • 组织计划年
  • ProjOrgPlnYrJunction
  • 直流
  • DCMaxEEContribLevel
  • DCNonDiscretionaryContribLevel

  • 基本上,我需要内连接 OrgPlanYear + DC 和 ProjOrgPlnYrJunction 然后我需要左连接剩余的表(表 4 和 5),因为表 1-3 包含我需要的所有行,而表 4 中只有一些有数据-5.我需要每个表中的几个变量。我还需要 WHERE 函数跨越所有字段(这意味着我想要一个选择组的所有这些数据,其中 projectID=919)。

    请帮忙!

    我尝试了很多错误,包括尝试使用设计查询端(即 JOIN 函数问题、格式错误的 FROM 函数等)!这是一个排除我需要的所有变量的示例:
    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;

    最佳答案

    您的查询的主要问题:

  • 失踪 ON每个条款LEFT JOIN .
  • 引用 SELECT 中的其他表列和 WHERE不同的子查询(例如, FROM DCNonDiscretionaryContribLevel WHERE ProjOrgPlnYrJunction.fkeyProjectID )。
  • 根据 Access SQL 要求,子查询和联接周围的括号不匹配。

  • 请参阅下面现在使用短表别名的调整后的 SQL。一定要调整 SELECTON带有适当列的子句。
    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;

    关于sql - 使用 SQL 对 Access 中的 5 个表进行内连接和左连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62029276/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com