在Access 2010中加入5个表

时间:2015-02-20 20:26:30

标签: sql ms-access-2010

所以这是一个挑战。我有一个网页需要显示数据库中5个不同表的数据。这是查询:

'SELECT ORGANIZATIONS.ORG_NAME, ORG_SECTIONS.SectionName, ATTORNEYS.NAME, ATTORNEYS.LASTNAME, ATTORNEYS.EMAIL, ATTORNEYS.TEL, ATTY_TITLES.ATT_TITLE, FIRM_PRACTICE_GRPS.PRACTICE_GRP
         FROM (ORGANIZATIONS INNER JOIN (Org_Sec_Atty INNER JOIN ATTORNEYS ON Org_Sec_Atty.Atty_ID = ATTORNEYS.ATTY_ID) ON ORGANIZATIONS.ID = Org_Sec_Atty.OrgID) INNER JOIN ORG_SECTIONS ON Org_Sec_Atty.SecID = ORG_SECTIONS.ID
         WHERE ATTORNEYS.LASTNAME LIKE @LASTNAME;'

5个表是Org_Sec_Atty,ORGANIZATIONS,ORG_SECTIONS,ATTORNEYS,ATTY_TITLES和FIRM_PRACTICE_GRPS。首先,我没有拿出表名,哈哈。

其次,ATTORNEYS是具有ATTY_ID,TITLE_ID,PRACTICE_GRP_ID的表,这是我确定需要加入FIRM_PRACTICE_GRPS和ATTY_TITLE,然后需要连接Org_Sec_Atty和ORG_SECTIONS表。

我已经有一个页面,其中三个表ATTORNEYS,Org_Sec_Atty和ORG_SECTIONS通过您在那里看到的JO​​IN语句连接在一起。我试图找出其他INNER JOIN语句的位置以及顺序。

似乎我需要将“Org_Sec_Atty INNER JOIN ATTORNEYS”中的“ATTORNEYS”替换为下属的INNER JOIN语句,但是,我再次确定该命令。这可能吗?

1 个答案:

答案 0 :(得分:0)

你没有在最后两张桌子上指定外键。必要时适当改变:

SELECT  ORGANIZATIONS.ORG_NAME ,
        ORG_SECTIONS.SectionName ,
        ATTORNEYS.NAME ,
        ATTORNEYS.LASTNAME ,
        ATTORNEYS.EMAIL ,
        ATTORNEYS.TEL ,
        ATTY_TITLES.ATT_TITLE ,
        FIRM_PRACTICE_GRPS.PRACTICE_GRP
FROM    (((( ORGANIZATIONS
          INNER JOIN Org_Sec_Atty ON ORGANIZATIONS.ID = Org_Sec_Atty.OrgID)
          INNER JOIN ATTORNEYS ON Org_Sec_Atty.Atty_ID = ATTORNEYS.ATTY_ID) 
          INNER JOIN ORG_SECTIONS ON Org_Sec_Atty.SecID = ORG_SECTIONS.ID)
          INNER JOIN ATTY_TITLES ON ORG_SECTIONS.ATTY_ID = ATTY_TITLES.ID)
          INNER JOIN FIRM_PRACTICE_GRPS ON ATTY_TITLES.FIRM_ID = FIRM_PRACTICE_GRPS.ID

WHERE   ATTORNEYS.LASTNAME LIKE @LASTNAME;