Stvaranje upita na temelju više tablica

Važno :  Ovaj je članak strojno preveden. Pogledajteizjavu o odricanju od odgovornosti. Verziju ovog članka na engleskom potražite ovdje.

Ponekad postupak stvaranja i korištenja upita je jednostavno pitanje odabira polja iz tablice, možda primjenom nekog kriterija, a zatim prikaz rezultata. No što se događa ako je češće slučaj, podatke koji vam trebaju je širenje u više tablica? Srećom, možete izraditi upit koji spaja podatke iz više izvora. Ova tema istražuje neke scenarije gdje povući podatke iz više od jedne tablice i prikazuje kako to učiniti.

Što vas zanima?

Korištenje podataka iz povezane tablice za poboljšanje informacija u upitu

Povezivanje podataka iz dviju tablica pomoću njihovih odnosa treće tablice

Prikaz svih zapisa s dvije slične tablice

Korištenje podataka iz povezane tablice za poboljšanje informacija u upitu

Postoje slučajevi u kojima upit koji se temelji na jednoj tablici daje potrebne informacije, ali izvlačenja podataka iz druge tablice želite pomoći da bi rezultati upita jasniji i korisniji. Na primjer, pretpostavimo da imate popis zaposlenika ID-a koji se pojavljuju u rezultatima upita. Shvatite da bi korisnijim da biste vidjeli imena zaposlenika u rezultatima, ali imena zaposlenika nalaze se u drugu tablicu. Da biste dobili imena zaposlenika da se pojavljuje u rezultatima upita, morate uključiti obje tablice u upit.

Pomoću čarobnjaka upita za sastavljanje upita iz primarne tablice i povezane tablice

  1. Tablice provjerite imaju li definirani odnos u prozor Odnosi.

    Kako?

    1. Na kartici Alati baze podataka u grupi Prikaži/Sakrij kliknite odnosi.

    2. Na kartici Dizajn u grupi Odnosi kliknite Svi odnosi.

    3. Odredite tablice koje smiju definirani odnosa.

      • Ako su tablice vidljive u prozoru odnosi, provjerite da već je definiran odnosa.

        Odnos se prikazuje kao crta koja povezuje dvije tablice u običnom polju. Dvokliknite crtu odnosa da biste vidjeli koja polja u tablicama povezani odnosom.

      • Ako tablica nisu vidljive u prozoru odnosi, morate ih dodati.

        Na kartici Dizajn u grupi Prikaži/Sakrij kliknite Nazive tablica.

        Dvokliknite tablice koje želite prikazati, a zatim kliknite Zatvori.

    4. Ako ne pronađete odnosa između dviju tablica, stvorite ga povlačenjem polja iz jedne tablice u polje druge tablice. Polja na kojem je stvoriti odnos između tablica mora imati iste vrste podataka.

      Napomena : Možete stvoriti odnos između polja koja je vrsta podatka AutoNumber i koji su vrsta podataka Number, ako to polje ima veličinu polja Dugi cijeli broj. To će često biti slučaj kada stvarate odnos preslikavanja jednog člana na više njih.

      Prikazat će se dijaloški okvir Uređivanje odnosa.

    5. Kliknite Stvori da biste stvorili odnos.

      Dodatne informacije o mogućnostima imate kada stvorite odnos, potražite u članku Stvaranje, uređivanje i brisanje odnosa.

    6. Zatvorite prozor Odnosi.

  2. Na kartici Stvaranje u grupi Ostalo kliknite Čarobnjak za upite.

  3. U dijaloškom okviru Novi upit kliknite Čarobnjak za jednostavne upite, a zatim kliknite u redu.

  4. U kombiniranom okviru Tablice/upiti kliknite tablicu koja sadrži osnovne informacije koje želite uvrstiti u upit.

  5. Na popisu Dostupnih polja kliknite na prvo polje koje želite uvrstiti u upit, a zatim u jedan desni gumb sa strelicom da biste premjestili to polje na popisu Odabrana polja . Isto ponovite za svako polje iz tablice koje želite uvrstiti u upit. To se može biti polja koja želite u rezultatu upita ili polja koja želite koristiti da biste ograničili reci u izlaz primjenom kriterija.

  6. U kombiniranom okviru Tablice/upiti kliknite tablicu koja sadrži povezane podatke koje želite koristiti da biste poboljšali rezultate upita.

  7. Dodajte polja koja želite koristiti da biste poboljšali rezultate upita popis Odabrana polja i zatim kliknite Dalje.

  8. U odjeljku želite li detaljni ili sažeti upit?, kliknite Detalji ili sažetka.

    Ako ne želite da se upit za izvođenje bilo kojeg funkcije zbrajanja (zbroj, Prosj, Min, Max, Count, StDevili Var), odaberite detaljan upit. Ako želite da se upit za izvođenje funkcije zbrajanja, odaberite sažetak. Kad unesete na temelju odabira, kliknite Dalje.

  9. Kliknite Završi da biste vidjeli rezultate.

Primjer u kojem se koristi oglednu bazu podataka Northwind

U sljedećem primjeru, koristite čarobnjak za upite za sastavljanje upita koji prikazuje popis narudžbi, dostave naknade za svaku narudžbu, a naziv zaposlenika koji se rukuje svakom nalogu.

Napomena : Ovaj se primjer tiče izmjena oglednu bazu podataka Northwind. Preporučujemo vam da stvorite sigurnosnu kopiju oglednu bazu podataka Northwind te u ovom se primjeru pomoću tog sigurnosnu kopiju.

Pomoću čarobnjaka upita za sastavljanje upita

  1. Otvorite oglednu bazu podataka Northwind. Zatvorite obrazac za prijavu.

  2. Na kartici Stvaranje u grupi Ostalo kliknite Čarobnjak za upite.

  3. U dijaloškom okviru Novi upit kliknite Čarobnjak za jednostavne upite, a zatim kliknite u redu.

  4. U kombiniranom okviru Tablice/upiti kliknite tablica: narudžbe.

  5. Na popisu Dostupna polja dvokliknite IDNarudžbe da biste premjestili to polje na popisu Odabrana polja . Dvokliknite Naknada za dostavu da biste premjestili to polje na popisu Odabrana polja .

  6. U kombiniranom okviru Tablice/upiti kliknite tablicu: Zaposlenici.

  7. Na popisu Dostupna polja dvokliknite ime da biste premjestili to polje na popisu Odabrana polja . Dvokliknite Prezime da biste premjestili to polje na popisu Odabrana polja . Kliknite Dalje.

  8. Jer stvarate popis svih narudžbi, želite upotrijebiti detaljan upit. Ako zbrajate dostave naknadu po zaposleniku ili izvršavate neku drugu osnovnu funkciju, koristite upit sažetak. Kliknite Detalji (prikazuje svako polje svakog zapisa), a zatim kliknite Dalje.

  9. Kliknite Završi da biste vidjeli rezultate.

Upit vraća popis narudžbi, svaka s njegov dostave naknade i imenom i prezimenom zaposlenika koji je njome ga.

Vrh stranice

Povezivanje podataka iz dviju tablica pomoću njihovih odnosa treće tablice

Često, podaci iz dvije tablice su povezane preko treće tablice. To je obično slučaj jer su u odnos preslikavanja više na više članovapovezanih podataka između prve dvije tablice. Često je praksa pri dizajniranju dobar baze podataka da biste podijelili više-prema-više odnosa između dviju tablica u dva odnosa jedan-prema-više koje se uključuje tri tablice. To se stvaranjem treće tablice koja se naziva tablice grananja ili odnos tablice koji sadrži primarni ključ i vanjski ključ za svaku s ostalim tablicama. Odnos jedan-prema-više zatim stvara između svakog vanjski ključ u tablici grananja i odgovarajućeg primarnog ključa jedne od druge tablice. U tim slučajevima, morate uključiti sve tri tablice u upit, čak i ako želite dohvatiti podatke iz samo dva.

Stvaranje upita s odabiranjem pomoću tablice odnos više-prema-više

  1. Na kartici Stvaranje u grupi Ostalo kliknite Dizajn upita.

    Otvorit će se dijaloški okvir Prikaz tablice .

  2. U dijaloškom okviru Prikaz tablice dvokliknite dvije tablice koje sadrže podatke koje želite uvrstiti u upit i grananja tablicu koja povezuje ih, a zatim kliknite Zatvori.

    Sve tri tablice pojavljuju se na radnoj površini dizajna upita združeni na odgovarajuća polja.

  3. Dvokliknite svako polje koje želite koristiti u rezultatima upita. Svako polje pojavit će se upit rešetka za dizajniranje.

  4. U rešetki dizajna upita pomoću redak Kriteriji unesite kriterije polja. Da biste koristili kriterija polja bez prikaza polja u rezultatima upita, poništite potvrdni okvir u retku Pokaži za to polje.

  5. Da biste sortirali rezultate na temelju vrijednosti u polju, u rešetki dizajna upita kliknite Uzlazno ili Silazno (ovisno o tome kako želite sortirati podatke) u retku Sortiranje za to polje.

  6. Na kartici Dizajn u grupi Rezultati kliknite Izvedi.

    Access prikazuje izlaz upita u prikaz podatkovnog lista.

Primjer u kojem se koristi oglednu bazu podataka Northwind

Napomena : Ovaj se primjer tiče izmjena oglednu bazu podataka Northwind. Preporučujemo vam da stvorite sigurnosnu kopiju oglednu bazu podataka Northwind, a zatim slijedite u ovom se primjeru pomoću sigurnosne kopije.

Recimo da imate nove prilike: dobavljača u Rio de Janeiro je pronašao vaše Web-mjesto, a možete učiniti i nešto suradnji s vama. Međutim, oni samo rade u Rio i Sveti Paulo koja se nalazi u blizini. Oni navedite svaku kategoriju proizvoda Hrana koje ste vi posrednik. Su veliki tvrtke prilično i žele garanciju da im možete osigurati pristup dovoljno potencijalne prodaje da bi vrijedno: najmanje R$ 20.000,00 godišnjeg prometa po godini (oko $9.300,00). Mogu li im pružiti tržište trebaju?

Podatke potrebne za odgovor na ovo pitanje nalazi se na dva mjesta: u tablici Kupci i tablici Detalji narudžbe. U ovim su tablicama međusobno su povezane tablice Narudžbe. Već je definiran odnose između tablica. U tablici Narudžbe, svaka narudžba može imati jednog klijenta koji se odnose na tablicu Kupci u polju IDKupca. Svaki zapis u tablici Detalji narudžbe povezana je s samo jednu narudžbu u tablici Narudžbe u polju IDNarudžbe. Dakle, zadani klijent može imati više narudžbi, od kojih svaka ima mnogo Detalji narudžbe.

U ovom primjeru će stvaranje unakrsnog upita koji prikazuje ukupnoj prodaji po godini, u gradovima Rio de Janeiro i Sveti Paulo.

Sastavljanje upita u prikazu dizajna

  1. Otvorite bazu podataka Northwind. Zatvorite obrazac za prijavu.

  2. Na kartici Stvaranje u grupi Ostalo kliknite Dizajn upita.

    Pojavit će se dijaloški okvir Prikaz tablice .

  3. U dijaloškom okviru Prikaz tablice dvokliknite klijenti, iliObrubii Detalji narudžbe, a zatim kliknite Zatvori.

    Sve tri tablice pojavljuju se na radnoj površini dizajna upita.

  4. U tablici Kupci dvokliknite polja Grad da biste ga dodali u rešetku dizajna upita.

  5. U rešetki dizajna upita u retku Kriteriji stupca Grad upišite u ("Rio de Janeiro", "Sveti Paulo"). Zbog toga samo na one zapise koji su u kojem se nalazi kupac u nekom od te dvije gradove želite uvrstiti u upit.

  6. U tablici Detalji narudžbe dvokliknite polja DatumOtpreme te Jedinična cijena.

    Polja dodaju se u rešetku dizajna upita.

  7. U stupcu DatumOtpreme u rešetki dizajna upita, odaberite redak polje . Zamjena [Datumisporuke] s godina: format([DatumOtpreme],"gggg"). Time ste stvorili polje pseudonim, godine, koja omogućuje vam korištenje samo godinu iz vrijednosti u polju DatumOtpreme.

  8. U stupca Jedinična cijena u rešetki dizajna upita, odaberite redak polje . Zamijenite Prodaja [JediničnaCijena] : [Detalji narudžbe]. [ Jedinična cijena] * [Količina]-[Detalji narudžbe]. [JediničnaCijena] * [Količina] * [Popust]. Time se stvara pseudonim polja, prodaje, koje izračunava prodaju za svaki zapis.

  9. Na kartici Dizajn u grupi Vrsta upita kliknite Unakrsno.

    Dva nove retke, Ukupno i unakrsni, pojavljuju se u rešetki dizajna upita.

  10. U stupcu Grad u rešetku dizajna upita kliknite redak Unakrsno , a zatim kliknite Zaglavlje retka.

    Ovime grad vrijednosti prikazuju se kao zaglavlja stupaca (to jest, upit vraća jedan redak za svaki grad).

  11. U stupcu godina kliknite redak Unakrsno , a zatim kliknite Naslov stupca.

    Ovime godine vrijednosti pojavit će se kao zaglavlja stupaca (to jest, upit vraća jedan stupac za svaku godinu).

  12. U stupcu Prodaja kliknite redak Unakrsno , a zatim vrijednosti.

    Ovime vrijednosti prodaje koji se pojavljuju na presjeku redaka i stupaca (to jest, upit vraća iznos prodaje za svaku kombinaciju grada i godine).

  13. U stupcu Prodaja kliknite redak ukupnih zbrojeva , a zatim kliknite zbroj.

    Zbog toga upita da biste zbrojili vrijednosti u tom stupcu.

    Redak ukupnih zbrojeva za druge dva stupca možete ostaviti na zadane vrijednosti Grupiraj po, zbog toga što želite vidjeti svaku vrijednost za te stupce, ne vrijednost zbroja.

  14. Na kartici Dizajn u grupi Rezultati kliknite Izvedi.

Sada imate upit koji vraća Ukupna prodaja po godini Rio de Janeiro i Sveti Paulo.

Vrh stranice

Prikaz svih zapisa s dvije slične tablice

Ponekad ćete željeti kombiniranje podataka iz dvije tablice koje su jednake po strukturi, ali jedan od njih nalazi u drugoj bazi podataka. Zamislite sljedeće.

Pretpostavimo da ste je analitičar rad s podacima za učenika. Pokrećete inicijativu dijeljenja između vaše i još jedne škole podataka tako da se obje škole možete poboljšati svoju nastavu. Za neka pitanja koja želite istražiti bolje možete pogledati sve zapise iz obje škole zajedno, umjesto slogova svake škole zasebno.

Nije moguće uvesti podatke druge škole u nove tablice u bazi podataka, ali zatim promjene podataka druge škole bi neće biti vidljiv u bazi podataka. Veza na tablice druge škole i zatim stvaranja upita koji kombiniraju podatke pri pokretanju bio bi bolje rješenje. Će moći analizirati podatke kao jedan postavili, umjesto Izrada dvije analize te pokušaja protumačiti kao da su nešto.

Da biste prikazali sve zapise iz dviju tablica identične strukture, koristite upit unije.

Upiti s unijom nije moguće prikazati u prikazu dizajna. Stvaraju se pomoću SQL naredbe koje ste unijeli na kartici objekta SQL prikaz .

Stvaranje upita s unijom pomoću dvije tablice

  1. Na kartici Stvaranje u grupi Ostalo kliknite Dizajn upita.

    Otvorit će se novi dizajnerskoj rešetki upita, a pojavljuje se dijaloški okvir Prikaz tablice .

  2. U dijaloškom okviru Prikaz tablice kliknite Zatvori.

  3. Na kartici Dizajn u grupi Vrsta upita kliknite unija.

    Upit prelazi iz prikaza dizajna u SQL prikaz. U ovom trenutku karticu objekta SQL prikaz je prazan.

  4. U SQL prikazu, upišite Odaberite, nakon čega slijedi popis polja iz prve tablice u upit. Nazivi polja trebali biste u uglatim zagradama i odvojenih točkama sa zarezom. Kada završite s unosom polja, pritisnite tipku ENTER. Pokazivač se pomiče prema dolje za jedan redak u SQL prikazu.

  5. Upišite FROM, nakon čega slijedi naziv prve tablice u upit. Pritisnite ENTER.

  6. Ako želite navesti kriterija za polje iz prve tablice, upišite mjesto, nakon čega slijedi naziv polja, operator usporedbe (obično znak jednakosti (=)) i kriterij. Možete dodavati još kriterija na kraju uvjeta WHERE pomoću ključnih riječi i i istu sintaksu za prvi kriterij; na primjer, gdje [ClassLevel] = "100" AND [CreditHours] > 2. Kada završite s određenim kriterijima, pritisnite tipku ENTER.

  7. Upišite UNION, a zatim pritisnite tipku ENTER.

  8. Vrsta Odaberite, nakon čega slijedi popis polja iz druge tablice u upit. Trebate uključiti ista polja iz ove tablice uvrštene iz prve tablice i istim redoslijedom. Nazivi polja trebali biste u uglatim zagradama i odvojenih točkama sa zarezom. Kada završite s unosom polja, pritisnite tipku ENTER.

  9. Vrsta FROM, nakon čega slijedi naziv druge tablice koje želite uvrstiti u upit. Pritisnite ENTER.

  10. Ako želite, dodajte uvjet WHERE, kao što je opisano u koraku 6 ovog postupka.

  11. Upišite točku sa zarezom (;) da biste označili kraj upita.

  12. Na kartici Dizajn u grupi Rezultati kliknite Izvedi.

    Vaši Rezultati prikazuju se u prikazu podatkovne tablice.

Vrh stranice

Napomena : Izjava o odricanju od odgovornosti za strojni prijevod: ovaj je članak preveo računalni sustav bez ljudske intervencije. Microsoft nudi strojne prijevode da bi korisnicima koji ne razumiju engleski omogućio čitanje sadržaja o Microsoftovim proizvodima, uslugama i tehnologijama. Budući da je preveden strojno, članak možda sadrži pogreške u vokabularu, sintaksi ili gramatici.

Proširite svoje vještine
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×