用 INNER JOIN語法聯(lián)接多個表建記錄集
來源:程序員人生 發(fā)布時間:2013-12-10 00:22:11 閱讀次數(shù):2807次
用 INNER JOIN語法聯(lián)接多個表建記錄集
多表聯(lián)接建立記錄集是十分有用的
因為某些情況下
我們需要把數(shù)字數(shù)據(jù)類型顯示為相應(yīng)的文本名稱
這就遇到了多表聯(lián)接建立記錄集的問題
比如作一個會員注冊系統(tǒng)
共有五個表
會員信息數(shù)據(jù)表member
會員身份表MemberIdentity
會員權(quán)限表MemberLevel
會員類別表MemberSort和會員婚姻狀況表Wedlock
如果想把會員注冊信息全部顯示出來
肯定要將這四個表連起來
否則大家看到的某些會員信息可能只是數(shù)據(jù)編號
以會員類別表來說
在其數(shù)據(jù)表中
代表普通會員
代表高級會員
代表終身會員
在顯示時
如果不將會員類別表與會員詳細數(shù)據(jù)表相關(guān)聯(lián)
那么假如我們現(xiàn)在看到的是一名普通會員的注冊信息
我們只能看到其類別為
而誰又會知道
代表的是普通會員呢?所以要將會員類別表與會員詳細數(shù)據(jù)表相關(guān)聯(lián)
關(guān)聯(lián)后
就顯示為普通會員
就顯示為高級會員
就顯示為終身會員
這樣多好?同理
其它兩個表也要與會員詳細數(shù)據(jù)表相關(guān)聯(lián)才能把數(shù)據(jù)編號顯示為相應(yīng)的名稱
前天制作網(wǎng)站后臺時遇到此問題
在面包論壇
狂迷俱樂部
藍色理想
和
D多媒體論壇發(fā)了貼子求救
都沒有獲得答案
只好自己研究
花了兩天時間終于成功
現(xiàn)將其寫成教程供大家分享
希望大家少走彎路
本教程是把五個表聯(lián)在一起
如果愿意
您可以將更多的表聯(lián)在一起
方法大同小異啦~
步驟一
用Access軟件建立一個名為Member的數(shù)據(jù)庫
在其中建五個表
分別為
會員信息數(shù)據(jù)表member
會員身份表MemberIdentity
會員權(quán)限表MemberLevel
會員類別表MemberSort和會員婚姻狀況表Wedlock
●會員信息數(shù)據(jù)表member
MemberID
自動編號
主鍵(ID號)
MemberSort
數(shù)字(會員類別)
MemberName
文本
會員姓名
Password
文本(會員密碼)
MemberLevel
數(shù)字(會員權(quán)限)
MemberIdentity
數(shù)字(會員身份)
Wedlock
數(shù)字(婚姻狀況)
MemberQQ
文本(QQ號碼)
MemberEmail
文本(會員郵箱)
MemberDate
日期/時間(會員注冊日期)
●會員身份表MemberIdentity
MemberIdentity
自動編號
主鍵(ID號)
IdentityName
文本(會員身份名稱)
●會員權(quán)限表MemberLevel
MemberLevel
自動編號
主鍵(ID號)
LevelName
文本(會員權(quán)限名稱)
●會員類別表MemberSort
MemberSort
自動編號
主鍵(ID號)
SortName
文本(會員類別名稱)
●會員婚姻狀況表Wedlock
Wedlock
自動編號
主鍵(ID號)
WedlockName
文本(會員婚姻狀況類別)
說明
五個表建好后
您可以自行設(shè)置您想要的類別
如會員權(quán)限
您可以設(shè)置兩個類別--
未付費會員
和
已付費會員
編號分別為
如您設(shè)置了三個選項
那么第三個選項的編號當然就是
了
下面我們所要作的工作就是把
之類的編號顯示為
未付費會員
和
已付費會員
否則
大家誰會知道
代表的是
未付費會員
代表的是
已付費會員
?
步驟二
建DSN數(shù)據(jù)源
建記錄集
●運行Dreamweaver MX軟件
在會員注冊信息顯示頁面建一個名為ConnMember(您也可以起其它的名稱)的DSN數(shù)據(jù)源
●點擊服務(wù)器行為面板中的
綁定
建一個名為MemberShow的數(shù)據(jù)集
連接
選擇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
修改完代碼后
點擊
確定
大功告成!
現(xiàn)在
您可以打開記錄集看一下
五個表中的字段全部集成在MemberShow記錄集中
您只要將相應(yīng)的字段綁定在該字段想顯示的單元格中即可
這下好了
所有的數(shù)字編號全部變成了相應(yīng)的名稱
如會員權(quán)限
不再是
和
的數(shù)字形式了
而是變成了相應(yīng)的名稱
未付費會員
和
已付費會員
其它的數(shù)字編號也變成了顯示的文本名稱
是不是很開心呢?
注意事項
●在輸入字母過程中
一定要用英文半角標點符號
單詞之間留一半角空格
●在建立數(shù)據(jù)表時
如果一個表與多個表聯(lián)接
那么這一個表中的字段必須是
數(shù)字
數(shù)據(jù)類型
而多個表中的相同字段必須是主鍵
而且是
自動編號
數(shù)據(jù)類型
否則
很難聯(lián)接成功
●代碼嵌套快速方法
如
想連接五個表
則只要在連接四個表的代碼上加一個前后括號(前括號加在FROM的后面
后括號加在代碼的末尾即可)
然后在后括號后面繼續(xù)添加
INNER JOIN 表名X ON 表
字段號=表X
字段號
代碼即可
這樣就可以無限聯(lián)接數(shù)據(jù)表了
)
語法格式
其實 INNER JOIN ……ON的語法格式可以概括為
FROM (((表
INNER JOIN 表
ON 表
字段號=表
字段號) INNER JOIN 表
ON 表
字段號=表
字段號) INNER JOIN 表
ON Member
字段號=表
字段號) INNER JOIN 表X ON Member
字段號=表X
字段號
您只要套用該格式就可以了
現(xiàn)成格式范例
雖然我說得已經(jīng)比較明白了
但為照顧初學(xué)者
我還是以本會員注冊系統(tǒng)為例
提供一些現(xiàn)成的語法格式范例
大家只要修改其中的數(shù)據(jù)表名稱和字段名稱即可
連接兩個數(shù)據(jù)表的用法
FROM Member INNER JOIN MemberSort ON Member
MemberSort=MemberSort
MemberSort
語法格式可以概括為
FROM 表
INNER JOIN 表
ON 表
字段號=表
字段號
連接三個數(shù)據(jù)表的用法
FROM (Member INNER JOIN MemberSort ON Member
MemberSort=MemberSort
MemberSort) INNER JOIN MemberLevel ON Member
MemberLevel=MemberLevel
MemberLevel
語法格式可以概括為
FROM (表
INNER JOIN 表
ON 表
字段號=表
字段號) INNER JOIN 表
ON 表
字段號=表
字段號
連接四個數(shù)據(jù)表的用法
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 ((表
INNER JOIN 表
ON 表
字段號=表
字段號) INNER JOIN 表
ON 表
字段號=表
字段號) INNER JOIN 表
ON Member
字段號=表
字段號
連接五個數(shù)據(jù)表的用法
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 (((表
INNER JOIN 表
ON 表
字段號=表
字段號) INNER JOIN 表
ON 表
字段號=表
字段號) INNER JOIN 表
ON Member
字段號=表
字段號) INNER JOIN 表
ON Member
字段號=表
字段號
連接六個數(shù)據(jù)表的用法
略
與上述聯(lián)接方法類似
大家舉一反三吧
)
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈