用 INNER JOIN语法联接多个表建记录集


用 INNER JOIN语法联接多个表建记录集
多表联接 构建记录集是非常有用的,由于某些状况下,我们需求把数字数据类型显示为相应的文本名称,这就遇到了多表联接 构建记录集的问题 。 比方作一个会员注册系统,共有五个表,会员信息数据表member、会员身份表MemberIdentity、会员权限表MemberLevel、会员类别表MemberSort和会员婚姻状况表Wedlock 。如果想把会员注册信息所有显示出来, 确定要将这四个表连起来,不然大家看到的某些会员信息可能只不过数据编号 。
    以会员类别表来说,在其数据表中,1代表一般会员,2代表高级会员,3代表终身会员,在显示时,如果不将会员类别表与会员 详尽数据表 有关联,那么如果我们现在看到的是一名一般会员的注册信息,我们不得不看到其类别为1,而谁又会晓得1代表的是一般会员呢?所以要将会员类别表与会员 详尽数据表 有关联,关联后,1就显示为一般会员,2就显示为高级会员,3就显示为终身会员,这样多好?同理,其它两个表也要与会员 详尽数据表 有关联 威力把数据编号显示为相应的名称 。

    前天制作网站 后盾时遇到此问题,在面包论坛、狂迷俱乐部、蓝色 事实、和5D多媒体论坛发了贴子求救,都没有 获得答案,只好自己探究,花了两天 工夫终于 顺利,现将其写成教程供大家分享, 盼望大家少走弯路 。
    本教程是把五个表联在一同,如果情愿,您 可以将更多的表联在一同, 步骤大同小异啦'

    步骤一:用Access软件 构建一个名为Member的数据库,在其中建五个表,分别为:会员信息数据表member、会员身份表MemberIdentity、会员权限表MemberLevel、会员类别表MemberSort和会员婚姻状况表Wedlock 。

    ●会员信息数据表member:
    MemberID:自动编号,主键(ID号)
    MemberSort:数字(会员类别)
    MemberName:文本,会员姓名
    Password:文本(会员密码)
    MemberLevel:数字(会员权限)
    MemberIdentity:数字(会员身份)
    Wedlock:数字(婚姻状况)
    MemberQQ:文本(QQ号码)
    MemberEmail:文本(会员邮箱)
    MemberDate:日期/ 工夫(会员注册日期)

    ●会员身份表MemberIdentity:
    MemberIdentity:自动编号,主键(ID号)
    IdentityName:文本(会员身份名称)

    ●会员权限表MemberLevel:
    MemberLevel:自动编号,主键(ID号)
    LevelName:文本(会员权限名称)

    ●会员类别表MemberSort:
    MemberSort:自动编号,主键(ID号)
    SortName:文本(会员类别名称)

    ●会员婚姻状况表Wedlock
    Wedlock:自动编号,主键(ID号)
    WedlockName:文本(会员婚姻状况类别)
     注明:五个表建好后,您 可以自行设置您想要的类别,如会员权限,您 可以设置两个类别--“未付费会员”和“已付费会员”,编号分别为“1”、“2”,如您设置了三个选项,那么第三个选项的编号固然便是“3”了 。
    下面我们所要作的工作便是把“1”、“2”之类的编号显示为“未付费会员”和“已付费会员”,不然,大家谁会晓得“1”代表的是“未付费会员”,“2”代表的是“已付费会员”?

    步骤二:建DSN数据源,建记录集
    ●运行Dreamweaver MX软件,在会员注册信息显示页面建一个名为ConnMember(您也 可以起其它的名称)的DSN数据源 。

    ●点击服务器行为面板中的“绑定”,建一个名为MemberShow的数据集,“衔接” 取舍ConnMember,“表格” 取舍Member,“列”全选,“排序” 取舍MemberDate,降序 。点击“高级”按钮, 批改SQL框中自动生成的代码:
    原代码为:
    SELECT *
    FROM Member
    ORDER BY MemberDate DESC

    将代码 批改为:
    SELECT *
    FROM (((Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel) INNER JOIN MemberIdentity ON Member.MemberIdentity=MemberIdentity.MemberIdentity) INNER JOIN Wedlock ON Member.Wedlock=Wedlock.Wedlock
    ORDER BY MemberDate DESC
     批改完代码后,点击“确定”,大功告成!
    现在,您 可以 打开记录集看一下,五个表中的字段所有集成在MemberShow记录集中,您 惟独将相应的字段绑定在该字段想显示的单元格中即可 。这下好了,所有的数字编号所有变成了相应的名称,如会员权限,不再是“1”和“2”的数字 模式了,而是变成了相应的名称“未付费会员”和“已付费会员” 。其它的数字编号也变成了显示的文本名称,是否很开心呢?

     留神事项:
    ●在输入字母过程中, 定然要用英文半角标点符号,单词中间留一半角空格;
    ●在 构建数据表时,如果一个表与多个表联接,那么这一个表中的字段必须是“数字”数据类型,而多个表中的 雷同字段必须是主键,并且是“自动编号”数据类型 。不然,很难联接 顺利 。
    ●代码嵌套 快捷 步骤:如,想衔接五个表,则 惟独在衔接四个表的代码上加一个前后括号(前括号加在FROM的后面,后括号加在代码的末尾即可), 而后在后括号后面 接续增加“INNER JOIN 表名X ON 表1.字段号=表X.字段号”代码即可,这样就 可以无限联接数据表了:)

    语法 格局:
    其实 INNER JOIN ……ON的语法 格局 可以归纳为:
    FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表X ON Member.字段号=表X.字段号
    您 惟独套用该 格局就 可以了 。

    现成 格局范例:
     固然我说得已经 比较清楚了,但为照应初学者,我还是以本会员注册系统为例,提供一些现成的语法 格局范例,大家 惟独 批改其中的数据表名称和字段名称即可 。

    衔接两个数据表的用法:
    FROM Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort
    语法 格局 可以归纳为:
    FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号

    衔接三个数据表的用法:
    FROM (Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel 
    语法 格局 可以归纳为:
    FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号

    衔接四个数据表的用法:
    FROM ((Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel) INNER JOIN MemberIdentity ON Member.MemberIdentity=MemberIdentity.MemberIdentity
    语法 格局 可以归纳为:
    FROM ((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号

    衔接五个数据表的用法:
    FROM (((Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel) INNER JOIN MemberIdentity ON Member.MemberIdentity=MemberIdentity.MemberIdentity) INNER JOIN Wedlock ON Member.Wedlock=Wedlock.Wedlock
    语法 格局 可以归纳为:
    FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表5 ON Member.字段号=表5.字段号

    衔接六个数据表的用法:略,与上述联接 步骤 类似,大家 融会贯通吧:)