建立以多個資料表為基礎的查詢

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

有時候,建立並使用查詢的程序是簡單的表格中選取欄位,可能套用一些準則,然後檢視結果。但是,如果在更頻繁此情況下,您需要的資料擴張多個資料表中?所幸,您可以建立的查詢,結合多個來源的資訊。本主題探討某些案例提取,多個資料表的資料的位置,並示範如何進行。

您要做什麼?

使用從關聯資料表的資料來強化您的查詢中的資訊

連接兩個資料表中的資料使用的第三個資料表之間的關係

檢視兩個類似的資料表中的所有記錄

使用從關聯資料表的資料來強化您的查詢中的資訊

您可能需要在其中一個資料表為基礎的查詢可讓您在需要時,資訊的情況下,但抽取從另一個資料表的資料,以協助讓查詢結果更清楚且更實用。例如,假設您有一份員工識別碼顯示查詢結果中。您知道就會越有用處檢視員工名稱在結果中,但員工名稱位於不同的表格。若要取得員工名稱出現在您的查詢結果中,您需要在查詢中包含兩個資料表。

若要建立主索引的資料表關聯的資料表的查詢中使用 [查詢精靈

  1. 請確定資料表已定義的關聯圖資料庫關聯圖視窗中。

    作法

    1. 在 [資料庫工具] 索引標籤的 [顯示/隱藏]群組中,按一下 [關係]。

    2. [設計] 索引標籤上,按一下 [資料庫關聯圖] 群組中的 [所有關聯]

    3. 找出應有定義的關聯的資料表。

      • 如果在 [資料庫關聯圖] 視窗中,表格會顯示,請檢查已定義關聯。

        連接兩個資料表的一般欄位的線條顯示關聯性。您可以按兩下關聯線,查看哪一個資料表中的欄位連接的關聯。

      • 如果資料表不會顯示在 [資料庫關聯圖] 視窗中,您必須將其新增。

        在 [設計] 索引標籤的 [顯示/隱藏]群組中,按一下資料表名稱

        按兩下每個您想要顯示的資料表,然後按一下 [關閉

    4. 如果找不到兩個資料表之間的關聯,建立一個其他資料表的欄位拖曳欄位從一個資料表。建立資料表之間的關聯的欄位必須擁有相同的資料類型。

      附註: 您可以建立的自動編號資料類型中的欄位和為數字資料類型中,如果該欄位較長整數] 欄位的欄位之間的關聯。當您建立一對多關聯性這通常是大小寫。

      隨即出現 [編輯關聯] 對話方塊。

    5. 按一下 [建立],建立關聯]。

      如需建立關聯時,您有選項的相關資訊,請參閱建立、 編輯或刪除關聯的文件。

    6. 關閉資料庫關聯圖視窗

  2. 按一下 [建立] 索引標籤的 [其他] 群組中的 [查詢精靈]。

  3. 新的查詢] 對話方塊中,按一下 [簡單查詢精靈],然後按一下[確定]

  4. 在 [資料表/查詢] 下拉式方塊中,按一下包含您要包含在查詢中的基本資訊的資料表。

  5. 在 [可用欄位] 清單中,按一下您想要包含在查詢中的第一個欄位,然後按一下 [若要將該欄位移至 [選取欄位] 清單的單一向右箭號] 按鈕。從您想要在查詢中包含該表格中執行相同的每個其他欄位。這些可能是您想要在查詢輸出中,傳回的欄位] 或 [您要用來限制輸出中的資料列套用準則的欄位。

  6. 在 [資料表/查詢] 下拉式方塊中,按一下包含您要用來強化您的查詢結果的相關的資料的資料表。

  7. 新增您要用來強化您的查詢結果,選取 [欄位] 清單,然後按一下 [下一個欄位。

  8. 在下您想要的詳細資料] 或 [摘要查詢?,按一下 [詳細資料] 或 [摘要

    如果您不想執行任何彙總函式 (加總平均MinMaxCountStDev與或Var),請選擇 [詳細資料查詢] 查詢。如果您想查詢以執行彙總函數,請選擇 [摘要查詢]。進行選擇後,按一下 [下一步]。

  9. 按一下 [完成] 以檢視結果。

使用 [北風] 樣本資料庫的範例

在下列範例中,您可以使用 [查詢精靈來建立查詢來顯示訂單、 每個訂單,傳送費用清單及處理的每個訂單的員工的名稱。

附註: 此範例包括修改 [北風] 樣本資料庫。您可能會想要讓 [北風] 樣本資料庫的備份複本,並使用該備份依照此範例中。

使用 [查詢精靈來建立查詢

  1. 開啟 [北風] 樣本資料庫。關閉登入表單。

  2. 按一下 [建立] 索引標籤的 [其他] 群組中的 [查詢精靈]。

  3. 新的查詢] 對話方塊中,按一下 [簡單查詢精靈],然後按一下[確定]

  4. 在 [資料表/查詢] 下拉式方塊中,按一下 [表格 ︰ 訂單

  5. 在 [可用欄位] 清單中,按兩下[訂單編號] ,將該欄位移至 [選取欄位] 清單。按兩下貨運費用,將該欄位移至 [選取欄位] 清單。

  6. 在 [資料表/查詢] 下拉式方塊中,按一下 [表格 ︰ 員工

  7. 在 [可用欄位] 清單中,按兩下 [名字] 欄位,將該欄位移至 [選取欄位] 清單。按兩下[姓氏] ,將該欄位移至 [選取欄位] 清單。按一下 [下一步]。

  8. 因為您正在建立的所有訂單清單,您會想要使用的詳細資料查詢。如果您要加總的員工,或執行其他彙總函式的傳送費用,您會使用摘要查詢。按一下 [詳細資料 (會顯示每一筆記錄的每個欄位),然後按一下 [下一步

  9. 按一下 [完成] 以檢視結果。

查詢會傳回其傳送費用與處理它之員工的姓氏和名字的每個訂單清單。

頁面頂端

連接兩個資料表中的資料使用的第三個資料表之間的關係

通常,兩個資料表中的資料是與相關的其他每個透過第三個資料表。因為多對多關聯性中相關的前兩個資料表之間的資料,這是通常大小寫。通常是很好的資料庫設計練習分割成包含三個資料表的兩個項目對多關聯的兩個資料表之間的多對多關聯。建立第三個資料表,稱為聯合資料表或有主索引鍵和外部索引鍵每個其他資料表的關聯資料表,以執行此動作。然後聯合資料表中的每個外部索引鍵和對應的主索引鍵的其中一個其他資料表之間建立一對多關聯。在這種情況下,您需要在查詢中包含所有三個資料表即使您想要從只有兩個擷取資料。

使用多對多關聯中的表格] 來建立選取查詢

  1. [建立] 索引標籤的 [其他] 群組中,按一下 [查詢設計]

    隨後便會開啟 [顯示資料表] 對話方塊。

  2. 在 [顯示資料表] 對話方塊中,按兩下包含要納入查詢,同時聯合資料表中的連結,然後按一下 [關閉之的資料的兩個資料表。

    三個資料表會出現在查詢設計工作區中,在適當的欄位上結合。

  3. 按兩下每個您想要使用查詢結果中的欄位。每個欄位然後會出現在 [查詢設計格線。

  4. 在查詢設計格線中,使用 [準則] 列輸入欄位的準則。若要使用的欄位的準則,不會顯示在查詢結果中的欄位,清除在該欄位的 [顯示] 列中的核取方塊。

  5. 若要排序的欄位中,在查詢設計格線中,值為基礎的結果該欄位的 [排序] 資料列中按一下 [遞增] 或 [遞減排序(的方式視您想要排序的記錄)。

  6. [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]

    Access 會顯示查詢輸出資料工作表檢視。

使用 [北風] 樣本資料庫的範例

附註: 此範例包括修改 [北風] 樣本資料庫。您可能會想要讓 [北風] 樣本資料庫的備份複本],然後遵循使用備份複本的 [此範例。

假設您有新的商機 ︰ 供應商里約熱內盧中的找到您的網站,並可能會想要與您的商務。不過,它們只作業中里約和聖多美 Paulo 附近。提供您仲介處理的食物產品的每一個類別。這些是相當大型企業,而且想,您可以向他們提供的存取權,讓人們足夠潛在銷售您保證 ︰ 至少 R$ 20,000.00 每一年 (需 $9,300.00) 的銷售。您可以提供這些與市場需要嗎?

在兩個位置中找到所需的資料可回答這個問題 ︰ 客戶] 資料表和 [訂單詳細資料] 資料表。下列表格會彼此透過連結的訂單資料表。已定義資料表之間的關聯。在 [訂單] 資料表中每個訂單可以有一位客戶,相關客戶編號] 欄位的 [客戶] 資料表。在 [訂單] 資料表中,在 [訂單編號] 欄位中只有一個順序與相關 [訂單詳細資料] 資料表中的每筆記錄。因此,指定的客戶可以有多個訂單,每一個都有許多訂單詳細資料。

在此範例中,您會建立交叉資料表查詢所顯示的城市里約熱內盧和聖多美 Paulo 每年的總銷售額的。

建立 [設計] 檢視中的查詢

  1. 開啟 [北風] 資料庫。關閉登入表單。

  2. [建立] 索引標籤的 [其他] 群組中,按一下 [查詢設計]

    [顯示資料表] 對話方塊隨即出現。

  3. 在 [顯示資料表] 對話方塊中,按兩下 [客戶]、 [ders和 [訂單詳細資料,然後再按一下 [關閉]。

    在查詢設計工作區中,會出現三個資料表。

  4. 在 [客戶] 資料表中,按兩下 [城市] 欄位,將其新增至查詢設計格線。

  5. 在查詢設計格線中,在 [城市] 資料行的 [準則] 資料列中輸入(「 里約熱內盧 「,」 聖多美 Paulo 」) 中。這會使查詢中包含下列兩個城市的其中一種客戶在哪裡的記錄。

  6. 在 [訂單詳細資料] 資料表中按兩下 [出貨日期] 和 [單價] 欄位。

    欄位會新增至查詢設計格線。

  7. 在 [查詢設計格線中的 [出貨日期] 欄中,選取 [欄位] 列。取代[出貨日期]年 ︰ Format([ShippedDate],"yyyy")。這樣會建立欄位別名,,可讓您可以使用 [出貨日期] 欄位中的年份部分的值。

  8. 在 [查詢設計格線中的 [單價] 欄中,選取 [欄位] 列。Sales 來取代[單價] : [訂單詳細資料]。 [單價] * [數量]-[訂單詳細資料]。[單價] * [數量] * [折扣]。這樣會建立欄位別名,銷售,會計算每一筆記錄的銷售量。

  9. [設計] 索引標籤上,按一下 [查詢類型] 群組中的 [交叉資料表]

    兩個新的資料列合計交叉資料表,會出現在查詢設計格線。

  10. 在查詢設計格線中的 [城市] 欄中按一下 [交叉資料表] 資料列,然後按一下標題列

    這樣做為列名顯示城市值 (也就是查詢傳回的一列,各城市的)。

  11. [年份] 欄中按一下 [交叉資料表] 資料列,然後按一下欄標題

    這樣做為欄名的值會出現的年 (也就是查詢會傳回一個資料行的每年)。

  12. 在 [銷售] 欄中,按一下 [交叉資料表] 資料列,然後按一下

    這樣會顯示在 [列與欄交集處的銷售值 (也就是查詢會傳回一個銷售的值,每個城市和年份組合)。

  13. 在 [銷售] 欄中,按一下 [合計] 列,然後按一下加總

    這會使查詢加總此欄中的值。

    您可以將其他兩個資料行的 [合計] 列的 [群組依據],為預設值,因為您想要查看這些資料行的每個值,不彙總的值。

  14. [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]

現在,您會有每年的總銷售額傳回里約熱內盧和聖多美 Paulo 中的查詢。

頁面頂端

檢視兩個類似的資料表中的所有記錄

有時候,您會想要合併兩個資料表的結構,相同的資料,但有一個位於另一個資料庫。請考慮下列案例。

假設您是使用學生資料分析師。您會進行未來突破性資料,共用您的學校和其他學校之間的計劃,讓這兩種指南可改善其課程。針對某些您想要探索的問題,最好從兩個學校放在一起,查看所有記錄,而非每個學校個別記錄。

您無法其他學校將資料匯入新的資料表中您的資料庫,但然後不會反映對其他學校資料的任何變更資料庫中。更好的解決方案是連結至其他學校的資料表,然後建立 [合併資料,當您執行的查詢。您就可以為單一設定,而不執行兩個分析並嘗試視為一個解譯和分析資料。

若要檢視結構完全相同的兩個資料表的所有記錄,您可以使用聯集查詢。

聯集查詢無法顯示在 [設計] 檢視中。您可以建立他們使用您輸入SQL 檢視物件索引標籤中的 SQL 命令。

使用兩個資料表建立聯集查詢

  1. [建立] 索引標籤的 [其他] 群組中,按一下 [查詢設計]

    隨後便會開啟新的查詢設計格線,並顯示資料表] 對話方塊隨即出現。

  2. 在 [顯示資料表] 對話方塊中,按一下 [關閉]。

  3. 在 [設計] 索引標籤中 [查詢類型] 群組中,按一下 [聯集

    查詢會切換至 [SQL 檢視] 的 [設計] 檢視中。此時,[SQL 檢視物件索引標籤是空的。

  4. 在 SQL 檢視中,輸入 [選取,後面的欄位清單,從第一個您要在查詢中的資料表。欄位名稱應以方括弧括住,並以逗號分隔。當您完成輸入欄位名稱時,請按 ENTER 鍵。將游標移下移一行在 SQL 檢視中。

  5. 輸入FROM後面的第一個名稱您想要在查詢中的資料表。按下 ENTER。

  6. 如果您想要指定準則的欄位,從第一個資料表中,輸入位置,後面再加上的欄位名稱、 比較運算子 (通常以等號 (=)) 及準則。您也可以使用與關鍵字和相同的語法用於第一個準則; WHERE 子句的結尾新增其他準則例如,其中 [ClassLevel] ="100] 和 [CreditHours] > 2。當您完成指定準則時,按下 ENTER。

  7. 輸入UNION,然後按一下 ENTER。

  8. 輸入 [選取],後面的欄位清單從您要在查詢中的第二個資料表。您應該包含相同的欄位,您將包含從第一個資料表中,並在同一訂單這個資料表中。欄位名稱應以方括弧括住,並以逗號分隔。當您完成輸入欄位名稱時,請按 ENTER 鍵。

  9. 輸入 [],後面接著您想要包含在查詢中的第二個資料表的名稱。按下 ENTER。

  10. 如果您想,新增一個 WHERE 子句,此程序步驟 6 中所述。

  11. 輸入以表示您的查詢結尾的分號 (;)。

  12. [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]

    結果會出現在資料工作表檢視中。

頁面頂端

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×