当前位置:  开发笔记 > 数据库 > 正文

SQL加入问题

如何解决《SQL加入问题》经验,为你挑选了1个好方法。

我有3张桌子

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


    GroupID
    GroupName

    SubGroup
    SubGroupID
    SubGroupName
    GroupID(FK into Groups)

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

Links.LinkName,Groups.GroupName,SubGroup.SubGroupName

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

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



1> NotMe..:

这假设每组最多只有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)

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有