Vytvoření dotazu na základě více tabulek

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

Proces vytváření a používání dotazů v některých případech je jednoduché výběr polí z tabulky, možná použití některé kritérií a prohlížení výsledků. Ale co dělat, když, stejně jako dochvilnější spoje v případě, data, která je třeba je roztažení ve víc než jedné tabulky? Naštěstí je možné vytvářet dotaz, který kombinuje informace z různých zdrojů. Toto téma popisuje některé scénáře získání dat z víc než jedné tabulky a ukazuje, jak to udělat.

V tomto článku

Použití dat ze související tabulky k vylepšení informací v dotazu

Připojení dat ve dvou tabulkách pomocí jejich vztahů s tabulkou Rozpis

Zobrazit všechny záznamy ze dvou podobných tabulek

Použití dat ze související tabulky k vylepšení informací v dotazu

Možná bude potřeba případy, kdy dotazu vychází z jedné tabulky vám informace, které potřebujete, avšak zavedení dat z jiné tabulky by byly výsledky tohoto dotazu i přehlednější a zvýšíte jeho přínos. Předpokládejme například, že máte seznam zaměstnance ID, které se zobrazí ve výsledcích vašeho dotazu. Zjistíte to by zvýšíte jeho přínos zobrazíte jméno zaměstnance v seznamu výsledků, ale jména zaměstnanců nacházejí v jiné tabulce. Získat zobrazovat ve výsledcích vašeho dotazu jména zaměstnance, budete muset do dotazu zahrnout obou tabulek.

Vytvoření dotazu z primární tabulky a související tabulky pomocí Průvodce dotazem

  1. Zajištění tabulky definovaný Relace v Okno Relace.

    Postup:

    1. Na kartě Databázové nástroje ve skupině Zobrazit/skrýt na položku relace.

    2. Na kartě Návrh ve skupině Relace klikněte na položku Všechny relace.

    3. Identifikace tabulek, které by měla být definované relace.

      • Pokud tabulky jsou zobrazeny v okně relace, zkontrolujte, relace už definované.

        Relace se zobrazí jako čára spojující dvěma tabulkami založenou na jejich společného pole. Poklepejte na čáru relace zobrazíte pole v tabulce, která se připojují relace.

      • Pokud tabulky nejsou zobrazeny v okně relace, musíte je přidat.

        Na kartě Návrh ve skupině Zobrazit/skrýt klikněte na Názvy tabulek.

        Poklikejte na každou tabulku, kterou chcete zobrazit a potom klikněte na Zavřít.

    4. Pokud nenajdete relace mezi dvěma tabulkami, vytvořte ji přetažení pole z jedné tabulky do pole ve druhé tabulce. Pole, u kterých můžete vytvořit relace mezi tabulkami musí mít identické datové typy.

      Poznámka : Můžete vytvořit relaci mezi polem, který je Datový typ Automatické číslo a pole, které je Datový typ Číslo toto pole je velikost pole dlouhé celé číslo. To často bude v případě při vytváření Relace 1:N.

      Zobrazí se dialogové okno Upravit relace.

    5. Klikněte na vytvořit vytvořit relaci.

      Další informace o možnostech, jestli máte při vytváření relace naleznete v článku Vytvoření, úprava nebo odstranění relace.

    6. Zavřete okno relace.

  2. Na kartě Vytvořit klikněte ve skupině Jiné na Průvodce dotazem.

  3. V dialogovém okně Nový dotaz klikněte na Průvodce jednoduchým dotazem a potom na OK.

  4. V poli se seznamem Tabulky nebo dotazy klikněte na tabulku, která obsahuje základní informace, které chcete zahrnout do dotazu.

  5. V seznamu Dostupná pole klikněte na první pole, které chcete zahrnout do dotazu a potom klikněte na tlačítko jediný šipka vpravo přesuňte tohoto pole do seznamu Vybraná pole. Stejně postupujte i v každé další pole z této tabulky, které chcete zahrnout do dotazu. Tyto lze pole, které chcete vrátit do výstupu dotazu nebo pole, která chcete použít k omezení řádků do výstupu za použití kritérií.

  6. V poli se seznamem Tabulek nebo dotazů klikněte na tabulku, která obsahuje související data, která chcete použít ke zlepšení výsledků dotazu.

  7. Přidejte pole, které chcete použít k vylepšení výsledků dotazu do seznamu Vybraná pole a potom klikněte na Další.

  8. V části libovolný text dotazu podrobnosti a souhrn?, klikněte na Podrobnosti nebo Souhrn.

    Pokud nechcete, aby dotaz prováděl agregační funkce (SUMA, Avg, Min, Maximum, počet, SMODCH.výběrnebo Var), vyberte podrobný dotaz. Pokud chcete dotazu k provedení agregační funkci, vyberte souhrnný dotaz. Když uděláte svého výběru, klikněte na tlačítko Další.

  9. Klikněte na Dokončit k zobrazení výsledků.

Příklad, který používá ukázkovou databázi Northwind

V následujícím příkladu použití Průvodce dotazem k vytvoření dotazu, která se zobrazí seznam objednávek, poplatek dodání pro každou objednávku a jméno zaměstnance, který zpracování všech objednávek.

Poznámka : Tento příklad se týká úpravy ukázkové databázi Northwind. Můžete vytvořit záložní kopii ukázkové databázi Northwind a potom postupujte podle v tomto příkladu pomocí záložní kopie.

Použití Průvodce dotazem k vytvoření dotazu

  1. Otevřete ukázkovou databázi Northwind. Zavřete formulář pro přihlášení.

  2. Na kartě Vytvořit klikněte ve skupině Jiné na Průvodce dotazem.

  3. V dialogovém okně Nový dotaz klikněte na Průvodce jednoduchým dotazem a potom na OK.

  4. V poli se seznamem Tabulky nebo dotazy klikněte na tabulky: objednávky.

  5. V seznamu Dostupná pole poklikejte na položku ID objednávky přesuňte tohoto pole do seznamu Vybraná pole. Poklikejte na Dodací poplatek přesuňte tohoto pole do seznamu Vybraná pole.

  6. V poli se seznamem Tabulky nebo dotazy klikněte na tabulky: zaměstnanci.

  7. V seznamu Dostupných polí poklikejte na jméno přesunout toto pole se seznamem Vybraná pole. Poklikejte na Příjmení přesunout toto pole se seznamem Vybraná pole. Klikněte na tlačítko Další.

  8. Protože vytváříte seznam všech objednávek, kterou chcete použít podrobný dotaz. Pokud sčítáte dodávky poplatky podle zaměstnance nebo jiné agregační funkce používáte souhrnný dotaz. Klikněte na Podrobný (zobrazí všechna pole každý záznam) a klikněte na tlačítko Další.

  9. Klikněte na Dokončit k zobrazení výsledků.

Dotaz vrátí seznam objednávek, oba objekty mají jeho poplatek dodávky a jména a příjmení jméno zaměstnance, kteří ji vyřizoval.

Začátek stránky

Připojení dat ve dvou tabulkách pomocí jejich vztahů s třetí tabulky

Často dat ve dvou tabulkách jsou vzájemně prostřednictvím třetí související tabulce. Je to obvykle případ vzhledem k tomu, že jsou v Relace N souvisejících dat mezi prvními dvěma tabulkami. Často je dobré databáze návrh praxe rozdělení-n relace mezi dvěma tabulkami na dvě-n relace týkající se tři tabulky. To uděláte tak, že vytvoříte třetí tabulku s názvem spojená tabulka nebo tabulka relace, která obsahuje Primární klíč a Cizí klíč všech dalších tabulkách. Mezi jednotlivé cizí klíč v tabulce spojení a odpovídající primární klíč jednoho z jiné tabulky se pak vytvoří-n relace. V těchto případech potřebujete zahrnout všechny tři tabulky v dotazu, i když chcete načtení dat z pouze dvě.

Vytvoření výběrového dotazu pomocí tabulek s relací n: n

  1. Na kartě Vytvoření klikněte ve skupině Jiné na Návrh dotazu.

    Otevře se dialogové okno Zobrazit tabulku.

  2. V dialogovém okně Zobrazit tabulku poklikejte na dvě tabulky, které obsahují data, která chcete zahrnout do dotazu a také spojená tabulka, která je propojuje a potom na tlačítko Zavřít.

    Všechny tři tabulky se zobrazí v pracovním prostoru návrhu dotazu spojují v příslušných polích.

  3. Poklikejte na každé pole, které chcete použít ve výsledcích vašeho dotazu. Každé pole, zobrazí se v dotazu Návrhová mřížka.

  4. V návrhové mřížce dotazu zadávání znaků pomocí řádku kritéria pole kritérií. Použít kritéria pole nezobrazující pole ve výsledcích dotazu, zrušte zaškrtnutí políčka v řádku Zobrazit tohoto pole.

  5. Pokud chcete řadit výsledky podle hodnot v poli v návrhové mřížce dotazu klikněte na Vzestupně nebo Sestupně (podle toho, jak chcete záznamy řadit) v řádku Řadit u tohoto pole.

  6. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

    Aplikace Access zobrazí výstup dotazu v Zobrazení Datový list.

Příklad, který používá ukázkovou databázi Northwind

Poznámka : Tento příklad se týká úpravy ukázkové databázi Northwind. Můžete vytvořit záložní kopii ukázkové databázi Northwind a potom postupujte podle v tomto příkladu pomocí záložní kopie.

Předpokládejme, že máte nová příležitost: dodavatel v Rio de Janeiro našel vašeho webu a možná budete chtít Jednejte s vámi. Však pouze pracují Rio v blízkosti So Paulo. Dodávají každou kategorii jídla produktu, který zprostředkováváte. Jsou poměrně velkou firmu a chce záruky, že jim můžete zajistit přístup k dost potenciální prodej snažíme usnadnit jeho vhodné: aspoň R$ 20,000.00 za rok v sales (o $9,300.00). Můžete se jim poskytnout trhu, které potřebují?

Data, budete muset přijmout tuto otázku se nacházejí na dvou místech: tabulku Zákazníci a tabulce Rozpis objednávek. V této tabulce jsou propojené s překrývajícími pomocí tabulky objednávky. Relace mezi tabulkami již definovali. V tabulce objednávky pro každou objednávku mít jedinou zákazníka v relaci k tabulce Zákazníci v poli CustomerID. Každý záznam v tabulce objednávky podrobností souvisí s jedinou objednávek v tabulce objednávky, v poli KódObjednávky. Proto dané zákazník může mít mnoho objednávek, z nichž každá obsahuje mnoho Rozpis objednávek.

V tomto příkladu vytvoříte křížový dotaz zobrazující celkovému prodeji za rok, ve městech Rio de Janeiro a So Paulo.

Vytvoření dotazu v návrhovém zobrazení

  1. Otevřete databázi Northwind. Zavřete formulář pro přihlášení.

  2. Na kartě Vytvoření klikněte ve skupině Jiné na Návrh dotazu.

    Zobrazí se dialogové okno Zobrazit tabulku.

  3. V dialogovém okně Zobrazit tabulku poklikejte na zákazníkynebolená ohraničenía Rozpis objednáveka potom klikněte na Zavřít.

    Všechny tři tabulky se zobrazí v pracovním prostoru návrhu dotazu.

  4. V tabulce Zákazníci poklikejte na poli Město, čímž ji přidáte do návrhové mřížky dotazu.

  5. V návrhové mřížce dotazu, ve sloupci Město v řádku kritéria zadejte ("Rio de Janeiro", "So Paulo"). To způsobí, že pouze záznamy o zákazníkovi je-li jeden z těchto dvou měst mají být součástí dotaz.

  6. V tabulce Rozpis objednávek poklikejte na pole DatumOdeslání a polích JednotkováCena.

    Pole se přidávají do návrhové mřížky dotazu.

  7. Ve sloupci DatumOdeslání v návrhové mřížce dotazu vyberte řádek pole. Nahrazení [DatumOdeslání] s rok: Format([DatumOdeslání],"yyyy"). Tím vytvoříte pole alias, rok, kterou můžete použít jenom část rok z hodnoty v poli Datum dodání.

  8. Ve sloupci JednotkováCena v návrhové mřížce dotazu vyberte řádek pole. Nahraďte Prodej [JednotkováCena] : [Rozpis objednávek]. [ JednotkováCena] * [Množství]-[Rozpis objednávek]. [JednotkováCena] * [Množství] * [Sleva]. Tím vytvoříte alias pole Prodej, které vypočítá prodeje pro každý záznam.

  9. Na kartě Návrh klikněte ve skupině Typ dotazu na položku Křížový.

    V návrhové mřížce dotazu se zobrazí dvě nové řádky, celkové a Křížový.

  10. Ve sloupci Město v návrhové mřížce dotazu klikněte na řádek Křížová tabulka a potom klikněte na Záhlaví řádku.

    Hodnoty pole Město zobrazovat jako záhlaví řádků (to znamená, že dotaz vrátí jeden řádek pro jednotlivá města).

  11. Ve sloupci Year klikněte na řádek Křížová tabulka a potom klikněte na Záhlaví sloupce.

    Díky hodnoty se zobrazí jako záhlaví sloupců (to znamená, že dotaz vrátí jeden sloupec pro každý rok).

  12. Ve sloupci Prodej klikněte na řádek Křížová tabulka a potom klikněte na hodnotu.

    Díky hodnoty se zobrazí v průsečíku zadaného řádků a sloupců (to znamená, že dotaz vrátí jednu hodnotu prodeje pro každou kombinaci Město a rok).

  13. Ve sloupci Prodej klikněte na řádek Součty a potom klikněte na možnost Součet.

    To způsobí, že dotaz sečte hodnoty ve sloupci.

    Můžete ponechat řádek Součty pro dva sloupce na výchozí hodnoty Group By, protože chcete zobrazit jednotlivé hodnoty v těchto sloupcích, nikoli vytvořit souhrn hodnot.

  14. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

Nyní máte dotazu, který vrací hodnotu celkové prodeje podle roků Rio de Janeiro a So Paulo.

Začátek stránky

Zobrazit všechny záznamy ze dvou podobných tabulek

Někdy budete chtít kombinování dat ze dvou tabulek, které jsou stejné ve struktuře, ale jeden z nich je umístěn v jiné databázi. Zvažte následující scénář.

Předpokládejme, že se nacházíte, analytik práce s daty studenta. Začínáte na sdílení mezi své škole a jinou školou dat, aby obě školy můžete zlepšit jeho osnovy. U některých otázek, na které chcete prozkoumat bude vhodnější podívejte se na všechny záznamy z obou škol dohromady, spíše než každé školy záznamů odděleně.

Umožňuje importovat druhé školy data do nové tabulky v databázi, ale pak změny ostatních škola dat se nemusí projevit v databázi. Lepší řešení bude vytvořte propojení tabulky druhé školy a vytvořte dotazy, které je spustíte data. By je možné k analýze dat jako jediný nastavte, spíše než provádět dvě analýzy a pokusíte interpretovat, jako kdyby to byl jednu.

Pokud chcete zobrazit všechny záznamy ze dvou tabulek s identickými strukturu, použijte Sjednocovací dotaz.

Sjednocovací dotazy nelze v návrhovém zobrazení. Je vytvoříte pomocí příkazů SQL, které zadáte na kartě objektu Zobrazení SQL.

Vytvořte sjednocovací dotaz s použitím dvou tabulek

  1. Na kartě Vytvoření klikněte ve skupině Jiné na Návrh dotazu.

    Otevře se nové návrhové mřížky dotazu a zobrazí se dialogové okno Zobrazit tabulku.

  2. V dialogovém okně Zobrazit tabulku klikněte na Zavřít.

  3. Na kartě Návrh klikněte ve skupině Typ dotazu na tlačítko sjednocovací.

    Dotaz se přepne z návrhového zobrazení do zobrazení SQL. V tomto okamžiku kartu objektu zobrazení SQL je prázdná.

  4. V zobrazení SQL zadejte Vyberte, následuje seznam polí z první tabulek, které chcete zahrnout do dotazu. Názvy polí by měl v hranatých závorkách a oddělte je čárkami. Jakmile dokončíte zadávání názvů polí, stiskněte klávesu ENTER. Slouží k přesunutí kurzoru dolů o jeden řádek v zobrazení SQL.

  5. Zadejte FROMnásleduje název první tabulky, který chcete zahrnout do dotazu. Stiskněte klávesu ENTER.

  6. Pokud chcete určit kritéria pro pole z první tabulky, kde, zadejte následovat název pole, relační operátor (obvykle znak rovná se (=)) a kritérium. Můžete přidat další kritéria na konec klauzule WHERE pomocí panelů a klíčových slov a stejnou syntaxi pro první kritérium; například, kde [ClassLevel] = "100" a [CreditHours] > 2. Po dokončení zadávání kritérií stiskněte klávesu ENTER.

  7. Zadejte UNIONa stiskněte klávesu ENTER.

  8. Typ, Vyberte, následuje seznam polí z druhé tabulky, které chcete v dotazu. Měli byste zahrnout stejné pole z této tabulky, které jste obdrželi z první tabulky a ve stejném pořadí. Názvy polí by měl v hranatých závorkách a oddělte je čárkami. Jakmile dokončíte zadávání názvů polí, stiskněte klávesu ENTER.

  9. Typ FROMnásleduje název druhé tabulky, kterou chcete zahrnout do dotazu. Stiskněte klávesu ENTER.

  10. Pokud chcete, přidejte klauzuli WHERE podle pokynů v kroku 6 tohoto postupu.

  11. Zadáním středníku (;) označíte konec dotazu.

  12. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

    Výsledky se zobrazí v zobrazení Datový list.

Začátek stránky

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×