Ustvarjanje poizvedbe na osnovi več tabel

Včasih je postopek grajenja in uporabe poizvedb v Accessu preprosto odvisen od izbire polj iz tabele, morda uporabe nekaterih pogojev in nato ogleda rezultatov. Toda kaj lahko naredite, če so podatki, ki jih potrebujete, razporejeni v več kot eni tabeli, kar je bolj običajno? Na srečo lahko ustvarite poizvedbo, ki združuje podatke iz več virov. V tej temi je nekaj primerov, pri katerih lahko povlečete podatke iz več kot ene tabele, in razloženo, kako to naredite.

Kaj želite narediti?

Uporaba podatkov iz povezane tabele za izboljšanje informacij v poizvedbi

Povezovanje podatkov v dveh tabelah z uporabo njihovih relacij s tretjo tabelo

Ogled vseh zapiskov iz dveh podobnih tabel

Uporaba podatkov iz povezane tabele za izboljšanje informacij v poizvedbi

V nekaterih primerih imate poizvedbo, ki temelji na eni tabeli in vam daje informacije, ki jih potrebujete, vendar bi s podatki iz druge tabele bili rezultati še bolj jasni in uporabnejši. Denimo, da imate seznam ID-jev zaposlenih, ki so prikazani v rezultatih poizvedbe. Ugotovite, da bi bilo bolj uporabno, če bi bila med rezultati prikazana imena zaposlenih, vendar so imena shranjena v drugi tabeli. Če želite, da bodo imena zaposlenih prikazana v rezultatih poizvedbe, morate vključiti v poizvedbo obe tabeli.

Uporaba čarovnika za poizvedbe za ustvarjanje poizvedbe iz primarne tabele in povezane tabele

  1. Zagotovite, da imajo tabele določen relacija v okno Relacije.

    Kako?

    1. Na zavihku Orodja za zbirke podatkov v skupini Pokaži/skrij kliknite Relacije.

    2. Na zavihku Načrt v skupini Relacije kliknite Vse relacije.

    3. Izberite tabele, ki bi morale imeti določene relacije.

      • Če so tabele vidne v oknu »Relacije«, preverite, ali je bila relacija že določena.

        Relacija je prikazana kot črta, ki povezuje dve tabeli s skupnim poljem. Črto relacije lahko dvokliknete, če si želite ogledati, katera polja v tabelah so povezana z relacijo.

      • Če tabele niso prikazane v oknu »Relacije«, jih morate dodati.

        Na zavihku Načrt v skupini Pokaži/skrij kliknite Imena tabel.

        Dvokliknite vsako od tabel, ki jo želite prikazati, in nato kliknite Zapri.

    4. Če ne najdete relacije med dvema tabelama, ustvarite relacijo tako, da povlečete polje iz ene od tabel v polje v drugi tabeli. Polja, na katerih ustvarjate relacije med tabelami, morajo imeti enake vrste podatkov.

      Opomba: Lahko ustvarite relacijo med poljem, ki je v Podatkovni tip »Samoštevilo«, in poljem, ki je v Podatkovni tip »Število«, če ima to polje velikost dolgega celega števila. To se bo pogosto zgodilo, ko boste ustvarjali relacija »ena proti mnogo«.

      Odpre se pogovorno okno Urejanje relacij.

    5. Kliknite Ustvari, če želite ustvariti relacijo.

      Če želite več informacij o možnostih, ki jih imate, ko ustvarite relacijo, preberite članek Ustvarjanje, urejanje ali brisanje odnosa.

    6. Zaprite okno Relacije.

  2. Na zavihku Ustvari v skupini Poizvedbe kliknite Čarovnik za poizvedbe. Če pa uporabljate Access 2007, na zavihku Ustvari v skupini Drugo kliknite Čarovnik za poizvedbe.

  3. V pogovornem oknu Nova poizvedba kliknite Čarovnik za preproste poizvedbe in nato še V redu.

  4. V kombiniranem polju Tabele/poizvedbe kliknite tabelo, ki vsebuje osnovne informacije, ki jih želite vključiti v poizvedbo.

  5. Na seznamu Razpoložljiva polja kliknite prvo polje, ki ga želite vključiti v poizvedbo, in nato kliknite gumb z enojno puščico desno, da premaknete to polje na seznam Izbrana polja. Enako naredite z vsakim dodatnim poljem iz te tabele, ki ga želite vključiti v poizvedbo. To so lahko polja, za katera želite, da jih poizvedba vrne med rezultati, ali polja, ki jih želite uporabiti za omejitev vrstic v rezultatu, tako da uporabite pogoje.

  6. V kombiniranem polju Tabele/poizvedbe kliknite tabelo, ki vsebuje povezane podatke, ki jih želite uporabiti za izboljšanje rezultatov poizvedbe.

  7. Dodajte polja, ki jih želite uporabiti za izboljšanje rezultatov poizvedbe, na seznam Izbrana polja, in nato kliknite Naprej.

  8. V razdelku Ali želite poizvedbo s podrobnostmi ali poizvedbo s povzetkom?, kliknite Podrobnosti ali Povzetek.

    Če ne želite, da poizvedba izvede kakršne koli združevalne funkcije (Sum, Avg, Min, Max, Count, StDev ali Var), izberite podrobno poizvedbo. Če želite, da poizvedba izvede združevalno funkcijo, izberite poizvedbo s povzetkom. Ko se odločite, kliknite Naprej.

  9. Kliknite Dokončaj, če si želite ogledati rezultate.

Primer, ki vključuje vzorčno zbirko podatkov Northwind

V tem primeru s čarovnikom za poizvedbe ustvarite poizvedbo, ki prikaže seznam naročil, strošek pošiljanja za vsako naročilo in ime zaposlenega, ki je obravnaval posamezno naročilo.

Opomba: Ta primer obravnava spremembo vzorčne zbirke podatkov NorthWind Morda boste želeli ustvariti varnostno kopijo vzročne zbirke podatkov Northwind, zato sledite temu primeru tako, da uporabite to varnostno kopijo.

Uporaba čarovnika za poizvedbe za ustvarjanje poizvedbe

  1. Odprite vzorčno zbirko podatkov Northwind. Zaprite obrazec za prijavo.

  2. Na zavihku Ustvari v skupini Poizvedbe kliknite Čarovnik za poizvedbe. Če pa uporabljate Access 2007, na zavihku Ustvari v skupini Drugo kliknite Čarovnik za poizvedbe.

  3. V pogovornem oknu Nova poizvedba kliknite Čarovnik za preproste poizvedbe in nato še V redu.

  4. V kombiniranem polju Tabele/poizvedbe kliknite Tabela: naročila.

  5. Na seznamu Razpoložljiva polja dvokliknite IDNaročila, da premaknete to polje na seznam Izbrana polja. Dvokliknite Cena pošiljke, da premaknete to polje na seznam Izbrana polja.

  6. V kombiniranem polju Tabele/poizvedbe kliknite Tabela: zaposleni.

  7. Na seznamu Razpoložljiva polja dvokliknite Ime, da premaknete to polje na seznam Izbrana polja. Dvokliknite Priimek, da premaknete to polje na seznam Izbrana polja. Kliknite Naprej.

  8. Ker ustvarjate seznam vseh naročil, boste uporabili poizvedbo s podrobnostmi. Če želite zbrati stroške pošiljanja glede na zaposlenega ali izvesti katero drugo funkcijo združevanja, uporabite poizvedbo s povzetkom. Kliknite Podrobnost (pokaže vsako polje za vsak zapis), nato pa kliknite Naprej.

  9. Kliknite Dokončaj, če si želite ogledati rezultate.

Poizvedba vrne seznam naročil, vsakega s pripadajočimi stroški pošiljanja in imenom in priimkom zaposlenega, ki je obravnaval naročilo.

Na vrh strani

Povezovanje podatkov v dveh tabelah z uporabo njihovih relacij s tretjo tabelo

Pogosto so podatki v dveh tabelah med seboj povezani prek tretje tabele. To se običajno zgodi, ker so podatki med prvima dvema tabelama povezani v relacija »mnogo proti mnogo«. Pogosto je dobra zbirka podatkov načrtovana tako, da razdeli odnos »mnogo proti mnogo« med dvema tabelama v dva odnosa »eden proti mnogo«, ki vključuje tri tabele. To naredite tako, da ustvarite tretjo tabelo, imenovano stična tabela ali tabela relacij, ki ima primarni ključ in tuji ključ za vsako od drugih tabel. Odnos »ena proti mnogo« se nato ustvari med vsakim tujim ključem v stični tabeli in ustreznim primarnim ključem v eni od drugih tabel. V teh primerih morate vključiti vse tri tabele v poizvedbo, tudi če želite pridobiti podatke le iz dveh.

Ustvarjanje poizvedbo za izbiranje s tabelami z odnosom »mnogo na mnogo«

  1. Na zavihku Ustvari v skupini Poizvedbe kliknite Načrt poizvedbe. Če pa uporabljate Access 2007, na zavihku Ustvari v skupini Drugo kliknite Načrt poizvedbe.

    Odpre se pogovorno okno Pokaži tabelo.

  2. V pogovornem oknu Pokaži tabelo dvokliknite dve tabeli, ki vsebujeta podatke, ki jih želite vključiti v poizvedbo, in stično tabelo, ki ju povezuje, nato pa kliknite Zapri.

    Vse tri tabele so prikazane v delovnem prostoru načrta poizvedbe, združene z ustreznimi polji.

  3. Dvokliknite vsa polja, ki jih želite uporabiti v poizvedbi. Vsako polje je nato prikazano v poizvedbi mreža načrta.

  4. V mreži načrta poizvedbe vnesite v vrstico Pogoji želene pogoje za polje. Če želite uporabiti pogoje za polja, ne da bi prikazali poje med rezultati poizvedbe, počistite potrditveno polje v vrstici Pokaži za to polje.

  5. Če želite razvrstiti rezultate glede na vrednosti v polju, v mreži načrta poizvedbe kliknite Naraščajoče ali Padajoče (odvisno od tega, kako želite razvrstiti zapise) v vrstici Razvrščanje za to polje.

  6. Na zavihku Načrt v skupini Rezultati kliknite Zaženi.

    Access prikaže rezultat poizvedbe v Pogled podatkovnega lista.

Primer, ki vključuje vzorčno zbirko podatkov Northwind

Opomba: Ta primer obravnava spremembo vzorčne zbirke podatkov NorthWind Morda boste želeli ustvariti varnostno kopijo vzročne zbirke podatkov Northwind, zato sledite temu primeru tako, da uporabite to varnostno kopijo.

Vzemimo primer, da imate novo priložnost: dobavitelj v Rio de Janeiru je našel vaše spletno mesto in si želi morda poslovati z vami. Vendar pa deluje le v Riu in v bližini Sao Paula. Podjetje pokriva vse kategorije izdelkov hrane, za katere ste posrednik. Gre za precej veliko podjetje in morate jim zagotoviti, da jim lahko omogočite dostop do zadostne potencialne prodaje, da se jim bo to izplačalo: vsaj 20.000.00 USD na leto v prodaji (pribl. 9.300.00 USD). Ali jim lahko zagotovite trg, ki ga zahtevajo?

Podatki, ki jih potrebujete, da lahko odgovorite na to vprašanje, so na voljo na dveh mestih: v tabeli »Stranke« in v tabeli s podrobnosti o naročilu. Ti dve tabeli sta med seboj povezani s tabelo »Naročila«. Relacije med tabelami so bile že določene. V tabeli »Naročila« ima lahko vsako naročilo le eno stranko, ki je povezana s tabelo »Stranke« v polju »IDstranke«. Vsak zapis v tabeli s podrobnostmi naročila je povezan le z enim naročilom v tabeli »Naročila«, in sicer v polju »IDNaročila«. Zato ima lahko dana stranka veliko naročil, vsako pa ima lahko veliko podrobnosti o naročilu.

V tem primeru boste ustvarili navzkrižno poizvedbo, ki prikaže skupno letno prodajo v mestih Rio de Janeiro in São Paulo.

Ustvarjanje poizvedbe v pogledu načrta

  1. Odprite zbirko podatkov Northwind. Zaprite obrazec za prijavo.

  2. Na zavihku Ustvari v skupini Poizvedbe kliknite Načrt poizvedbe. Če pa uporabljate Access 2007, na zavihku Ustvari v skupini Drugo kliknite Načrt poizvedbe.

    Odpre se pogovorno okno Pokaži tabelo.

  3. V pogovornem oknu Prikaz tabele dvokliknite Stranke, Naročila in Podrobnosti naročila, nato pa kliknite Zapri.

    Vse tri tabele so prikazane v delovnem prostoru načrta poizvedbe.

  4. V tabeli »Stranke« dvokliknite polje »Mesto«, ki ga želite dodati v mrežo načrta poizvedbe.

  5. V mreži načrta poizvedbe v stolpcu Mesto v vrstici Pogoj vnesite V ("Rio de Janeiro","São Paulo"). To pomeni, da bodo v poizvedbo vključeni le tisti zapisi, v katerih je stranka v enem od teh dveh mest.

  6. V tabeli s podrobnosti o naročilu dvokliknite polji »DatumPošiljanja« in »CenaEnote«.

    Polja so dodana v mrežo načrta poizvedbe.

  7. V stolpcu DatumPošiljanja v mreži načrta poizvedbe izberite vrstico Polje. Zamenjajte [DatumPošiljanja] z Leto: oblika([DatumPošiljanja],"yyyy"). S tem ustvarite vzdevek polja, Leto, ki vam omogoča, da uporabite le del vrednosti z letom v polju »DatumPošiljanja«.

  8. V stolpcu CenaEnote v mreži načrta poizvedbe izberite vrstico Polje. Zamenjajte [CenaEnote] s Prodaja: [PodrobnostiNaročila].[CenaEnote]*[Količina]-[PodrobnostiNaročila].[CenaEnote]*[Količina]*[Popust]. Tako ustvarite vzdevek polja, Prodaja, ki izračuna prodajo za vsak zapis.

  9. Na zavihku Načrt v skupini Vrsta poizvedbe kliknite Navzkrižno.

    V mreži načrta poizvedbe se pojavita dve novi vrstici, Skupno in Navzkrižno.

  10. V stolpcu Mesto v mreži načrta poizvedbe kliknite vrstico Navzkrižno, nato pa kliknite Glava vrstice.

    Zdaj so vrednosti mesta prikazane kot naslovi vrstic (to pomeni, da poizvedba vrne eno vrstico za vsako mesto).

  11. V stolpcu Leto kliknite vrstico Navzkrižno in nato še Naslov stolpca.

    Zdaj so vrednosti leta prikazane kot naslovi stolpcev (to pomeni, da poizvedba vrne en stolpec za vsako leto).

  12. V stolpcu Prodaja kliknite vrstico Navzkrižno in nato še Vrednost.

    Zdaj je vrednost prodaje prikazana kot presek vrstic in stolpcev (to pomeni, da poizvedba vrne eno vrednost prodaje za vsako kombinacijo mesta in leta).

  13. V stolpcu Prodaja kliknite vrstico Skupno in nato še Vsota.

    To povzroči, da poizvedba seštejete vrednosti v tem stolpcu.

    Vrstico Vsota za druga dva stolpca lahko pustite na privzeti vrednosti Združi po, ker si želite ogledati posamezno vrednost za te stolpce in ne združenih vrednosti.

  14. Na zavihku Načrt v skupini Rezultati kliknite Zaženi.

Zdaj imate poizvedbo, ki vrne skupno prodajo po letih v mestih Rio de Janeiro and São Paulo.

Na vrh strani

Ogled vseh zapiskov iz dveh podobnih tabel

Včasih boste želeli kombinirati podatke iz dveh tabel, ki so identični po strukturi, a je ena od njih shranjena v drugi zbirki podatkov. Oglejte si opisani primer.

Recimo, da ste analitik, ki dela s podatki o študentih. Začeli boste uveljavljati pobudo o skupni rabi podatkov med vašo šolo in drugo šolo, zato da bosta lahko obe šoli izboljšali svoj učni načrt. Za nekatera vprašanja, ki jih želite raziskati, bi bilo bolje, da si ogledate vse zapise iz obeh šol na enem mestu, namesto zapise vsake posamezne šole ločeno.

Lahko bi podatke druge šole uvozili v novo tabelo v zbirki podatkov, vendar pa nato spremembe podatkov druge šole ne bi bile vidne v zbirki podatkov. Boljša rešitev bi bila, če bi se povezali s tabelami druge šole in nato ustvarili poizvedbe, s katerimi bi združili podatke, ko bi jih zagnali. Podatke bi lahko analizirali kot en nabor, ne da bi morali izvesti dve ločeni analizi in nato skušali primerjati rezultate, kot da bi bili eno.

Če si želite ogledati vse zapise iz dveh tabel z enako strukturo, uporabite poizvedba za združevanje.

Poizvedbe za združevanje ni mogoče prikazati v pogledu načrta. Poizvedbe ustvarite tako, da uporabite ukaze SQL, ki jih vnesete na zavihku predmeta pogled SQL.

Ustvarjanje poizvedbe za združevanje z dvema tabelama

  1. Na zavihku Ustvari v skupini Poizvedbe kliknite Načrt poizvedbe. Če pa uporabljate Access 2007, na zavihku Ustvari v skupini Drugo kliknite Načrt poizvedbe.

    Odpre se nova mreža načrta poizvedbe in prikaže se pogovorno okno Pokaži tabelo.

  2. V pogovornem oknu Pokaži tabelo kliknite Zapri.

  3. Na zavihku Načrt v skupini Vrsta poizvedbe kliknite Združi.

    Poizvedba preklopi iz pogleda načrta v pogled SQL. Na tej točki je zavihek predmeta v pogledu SQL prazen.

  4. V pogledu SQL vnesite SELECT, sledi pa seznam polj iz prve tabele, ki jo želite v poizvedbi. Imena polj morajo biti obdana z oglatimi oklepaji in ločena z vejicami. Ko ste vnesli imena polj, pritisnite tipko ENTER. Kazalec se premakne eno vrstico navzdol v pogledu SQL.

  5. Vnesite FROM, nato pa vnesite ime prve tabele, ki jo želite v poizvedbi. Pritisnite ENTER.

  6. Če želite določiti pogoj za polje iz prve tabele, vnesite WHERE, nato pa ime polja, primerjali operator (običajno je to enačaj (=)) in pogoj. Dodatne pogoje lahko dodate na konec stavka WHERE tako, da uporabite ključno besedo AND in enako sintakso, ki ste jo uporabili za prvi pogoj, na primer, WHERE [StopnjaRazreda] = "100" AND [KreditneUre] > 2. Ko ste določili pogoje, pritisnite tipko ENTER.

  7. Vnesite UNION in nato pritisnite Enter.

  8. Vnesite SELECT, sledi pa naj seznam polj iz druge tabele, ki jo želite v poizvedbi. Iz te tabele morate vključiti enaka polja, ki ste jih vključili iz prve tabele, in v enakem vrstnem redu. Imena polj morajo biti obdana z oglatimi oklepaji in ločena z vejicami. Ko ste vnesli imena polj, pritisnite tipko ENTER.

  9. Vnesite FROM, sledi pa naj ime druge tabele, ki jo želite vključiti v poizvedbo. Pritisnite ENTER.

  10. Po želji lahko dodate stavek WHERE, kot je opisano v 6. koraku tega postopka.

  11. Vnesite podpičje (;), da označite konec poizvedbe.

  12. Na zavihku Načrt v skupini Rezultati kliknite Zaženi.

    Rezultati so prikazani v pogledu podatkovnega lista.

Na vrh strani

Glejte tudi

Združevanje tabel in poizvedb

Razširite poznavanje Officea
Oglejte si izobraževanje
Prvi dobite nove funkcije
Pridružite se programu Office Insider

Vam je bila informacija v pomoč?

Zahvaljujemo se vam za povratne informacije.

Zahvaljujemo se vam za povratne informacije. Videti je, da bi vam prišla prav pomoč enega od naših Officeovih agentov za podporo.

×