用 INNER JOIN語法聯(lián)接多個表建記錄集_Access數(shù)據(jù)庫教程
推薦:ACCESS學(xué)習(xí)日記ACCESS學(xué)習(xí)日記
多表聯(lián)接建立記錄集是十分有用的,因為某些情況下,我們需要把數(shù)字?jǐn)?shù)據(jù)類型顯示為相應(yīng)的文本名稱,這就遇到了多表聯(lián)接建立記錄集的問題。比如作一個會員注冊系統(tǒng),共有五個表,會員信息數(shù)據(jù)表member、會員身份表MemberIdentity、會員權(quán)限表MemberLevel、會員類別表MemberSort和會員婚姻狀況表Wedlock。如果想把會員注冊信息全部顯示出來,肯定要將這四個表連起來,否則大家看到的某些會員信息可能只是數(shù)據(jù)編號。以會員類別表來說,在其數(shù)據(jù)表中,1代表普通會員,2代表高級會員,3代表終身會員,在顯示時,如果不將會員類別表與會員詳細(xì)數(shù)據(jù)表相關(guān)聯(lián),那么假如我們現(xiàn)在看到的是一名普通會員的注冊信息,我們只能看到其類別為1,而誰又會知道1代表的是普通會員呢?所以要將會員類別表與會員詳細(xì)數(shù)據(jù)表相關(guān)聯(lián),關(guān)聯(lián)后,1就顯示為普通會員,2就顯示為高級會員,3就顯示為終身會員,這樣多好?同理,其它兩個表也要與會員詳細(xì)數(shù)據(jù)表相關(guān)聯(lián)才能把數(shù)據(jù)編號顯示為相應(yīng)的名稱。
步驟一:用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è)置兩個類別--“未付費(fèi)會員”和“已付費(fèi)會員”,編號分別為“1”、“2”,如您設(shè)置了三個選項,那么第三個選項的編號當(dāng)然就是“3”了。
下面我們所要作的工作就是把“1”、“2”之類的編號顯示為“未付費(fèi)會員”和“已付費(fèi)會員”,否則,大家誰會知道“1”代表的是“未付費(fèi)會員”,“2”代表的是“已付費(fèi)會員”?
步驟二:建DSN數(shù)據(jù)源,建記錄集
●運(yùn)行Dreamweaver MX軟件,在會員注冊信息顯示頁面建一個名為ConnMember(您也可以起其它的名稱)的DSN數(shù)據(jù)源。
●點(diǎn)擊服務(wù)器行為面板中的“綁定”,建一個名為MemberShow的數(shù)據(jù)集,“連接”選擇ConnMember,“表格”選擇Member,“列”全選,“排序”選擇MemberDate,降序。點(diǎn)擊“高級”按鈕,修改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
修改完代碼后,點(diǎn)擊“確定”,大功告成!
現(xiàn)在,您可以打開記錄集看一下,五個表中的字段全部集成在MemberShow記錄集中,您只要將相應(yīng)的字段綁定在該字段想顯示的單元格中即可。這下好了,所有的數(shù)字編號全部變成了相應(yīng)的名稱,如會員權(quán)限,不再是“1”和“2”的數(shù)字形式了,而是變成了相應(yīng)的名稱“未付費(fèi)會員”和“已付費(fèi)會員”。其它的數(shù)字編號也變成了顯示的文本名稱,是不是很開心呢?
注意事項:
●在輸入字母過程中,一定要用英文半角標(biāo)點(diǎn)符號,單詞之間留一半角空格;
●在建立數(shù)據(jù)表時,如果一個表與多個表聯(lián)接,那么這一個表中的字段必須是“數(shù)字”數(shù)據(jù)類型,而多個表中的相同字段必須是主鍵,而且是“自動編號”數(shù)據(jù)類型。否則,很難聯(lián)接成功。
●代碼嵌套快速方法:如,想連接五個表,則只要在連接四個表的代碼上加一個前后括號(前括號加在FROM的后面,后括號加在代碼的末尾即可),然后在后括號后面繼續(xù)添加“INNER JOIN 表名X ON 表1.字段號=表X.字段號”代碼即可,這樣就可以無限聯(lián)接數(shù)據(jù)表了:)
語法格式:
其實(shí) 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.字段號
您只要套用該格式就可以了。
現(xiàn)成格式范例:
雖然我說得已經(jīng)比較明白了,但為照顧初學(xué)者,我還是以本會員注冊系統(tǒng)為例,提供一些現(xiàn)成的語法格式范例,大家只要修改其中的數(shù)據(jù)表名稱和字段名稱即可。
連接兩個數(shù)據(jù)表的用法:
FROM Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort
語法格式可以概括為:
FROM 表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號
連接三個數(shù)據(jù)表的用法:
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.字段號
連接四個數(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 ((表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號) INNER JOIN 表3 ON 表1.字段號=表3.字段號) INNER JOIN 表4 ON Member.字段號=表4.字段號
連接五個數(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 (((表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.字段號
分享:Access保留字變量名列表Access保留字變量名列表
相關(guān)Access數(shù)據(jù)庫教程:
- Access數(shù)據(jù)庫安全策略之ASP式
- 第N次被ACCESS的關(guān)鍵字涮
- Access中用Jet SQL語句刪除表關(guān)系
- Access報表打印如何自動分頁
- Access完成累計余額的計算
- 搭建Access為主的Mdb數(shù)據(jù)庫
- 一句sql更新兩個表并可更新對應(yīng)的字段值具體實(shí)現(xiàn)
- MySQL查詢優(yōu)化:連接查詢排序limit(join、order by、limit語句)介紹
- 內(nèi)網(wǎng)ssh/mysql登錄緩慢的解決方法
- 使用準(zhǔn)則進(jìn)行條件查詢--1.4.從窗體中選擇查詢的條件
- 中文Access2000速成教程--1.1 使用“向?qū)А痹O(shè)計數(shù)據(jù)庫
- 中文Access2000速成教程--1.3 在“設(shè)計”視圖中設(shè)計表
Access數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Access數(shù)據(jù)庫教程推薦
- 能否編譯mdb文件到exe文件
- 如何使用Access創(chuàng)建一個簡單MIS管理系統(tǒng)
- 轉(zhuǎn)換Access數(shù)據(jù)庫以獲得更優(yōu)性能
- 舊版數(shù)據(jù)庫轉(zhuǎn)換至ACCESS2000的注意事項
- 解決SQL Server轉(zhuǎn)ACCESS自動編號問題
- 使用MD5加密數(shù)據(jù)庫中的用戶密碼(二)
- 如何 在Access中選擇指定日期前的記錄?
- Excel和Access間復(fù)制、和導(dǎo)出數(shù)據(jù)
- 解析Access與Sql Server之ASP代碼比較
- Access使用宏控制程序之一個宏的實(shí)例檢驗口令
- 相關(guān)鏈接:
- 教程說明:
Access數(shù)據(jù)庫教程- 用 INNER JOIN語法聯(lián)接多個表建記錄集。