所以这是一个挑战。我有一个网页需要显示数据库中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通过您在那里看到的JOIN语句连接在一起。我试图找出其他INNER JOIN语句的位置以及顺序。
似乎我需要将“Org_Sec_Atty INNER JOIN ATTORNEYS”中的“ATTORNEYS”替换为下属的INNER JOIN语句,但是,我再次确定该命令。这可能吗?
答案 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;