SQL加入问题

leo*_*ora 2 sql

我有3张桌子

  1. 链接
    链接ID
    链接名称
    GroupID(FK到组)
    SubGroupID(FK到子组)


  2. GroupID
    GroupName

  3. SubGroup
    SubGroupID
    SubGroupName
    GroupID(FK into Groups)

每个链接都需要一个GroupID,但SubGroupID是可选的.如何编写SQL查询以显示:

Links.LinkName,Groups.GroupName,SubGroup.SubGroupName

对于没有子组的记录,只需在该字段中输入空白条目.如果我有250个链接行,我应该从这个查询中获得250个reecords.

有没有办法在一个查询中执行此操作或我是否需要执行多个查询?

Not*_*tMe 5

这假设每组最多只有1个子组.如果有更多,那么你有可能获得额外的记录.

select links.linkname, groups.groupname, subgroup.subgroupname
from links
  inner join groups on (links.groupid = groups.groupid)
  left outer join subgroup on (links.subgroupid = subgroup.subgroupid)
Run Code Online (Sandbox Code Playgroud)