Kreiranje upita na osnovu više tabela

Važno : Ovaj članak je mašinski prevesti potražite u članku Odricanje odgovornosti. O referencu pronaći verzija ovaj članak ovde na engleskom jeziku.

Ponekad proces zgrade i upotreba upita je nekoliko jednostavnih izbor polja iz tabele, možda primeni neke kriterijuma i zatim prikaza rezultata. Ali šta ako kao češće u slučaju, potrebne podatke je udaljavanje u više tabela? Na sreću, možete da napravite upit koji kombinuje informacije iz više izvora. Ova tema sadrži neke slučajeve gde možete da izvučete podatke iz više od jedne tabele i pokazuje kako to radite.

Izaberite jednu od sledećih mogućnosti.

Korišćenje podataka iz povezane tabele da biste poboljšali informacije u upit

Povezivanje podataka iz dve tabele pomoću njihovih relacija sa treće tabele

Prikazivanje svih zapisa iz dve slične tabele

Korišćenje podataka iz povezane tabele da biste poboljšali informacije u upit

Možda imate slučajevima u kojima upita koji je zasnovan na tabeli vam pruža informacije koje su vam potrebne, ali povlačenje podataka iz druge tabele bi pomoglo da biste rezultate upita jasniji i korisniji. Na primer, pretpostavimo da imate listu zaposlenog ID-ove koje se pojavljuju u rezultatima upita. Možete da bi korisniji da biste videli ime zaposlenog u rezultatima, ali imena zaposlenih se nalaze u drugoj tabeli. Da biste dobili zaposlenog imena koja želite da se pojave u rezultatima upita, morate da uključite obe tabele u upit.

Koristite čarobnjak za upite za kreiranje upita iz primarne tabele i povezane tabele

  1. Uverite se da tabele imaju definisano odnos u prozor „Odnosi“.

    Kako?

    1. Na kartici Alatke baze podataka , u grupi Prikaži/Sakrij kliknite na dugme Relacije.

    2. Na kartici Dizajn, u grupi Relacije, kliknite na dugme Sve relacije.

    3. Identifikujte tabele koje bi trebalo da imaju definisanu relaciju.

      • Ako su tabele vidljive u prozoru "relacije", proverite da li da relacije već definisan.

        Relacija se prikazuje kao liniju koja povezuje dve tabele u zajedničkom polju. Možete kliknuti dvaput na relacionu liniju da biste videli polja u tabelama koja su povezana relacijom.

      • Ako tabela nisu vidljive u prozoru "relacije", morate da ih dodate.

        Na kartici Dizajn , u grupi Prikaži/Sakrij kliknite na Imena tabela.

        Kliknite dvaput na svaku tabelu koju želite da prikažete, a zatim kliknite na dugme Zatvori.

    4. Ako ne pronađete relacije između dve tabele, kreirate tako što ćete prevući polja iz jedne tabele u polje u drugoj tabeli. Polja u kojima kreirate relaciju između tabela moraju imati identične tipove podataka.

      Napomena : Možete da kreirate relaciju između polja koja će biti tip podatka AutomatskiBroj i polja koja će biti tip numeričkih podataka, ako to polje ima veličinu polja Dugački ceo broj. Ovo će često biti slučaj kada kreirate odnos jedan-prema-više.

      Pojaviće se dijalog Uređivanje relacija.

    5. Kliknite na dugme Kreiraj da biste kreirali relacije.

      Više informacija o opcijama koje imate kad kreirate relaciju, potražite u članku Kreiranje, uređivanje ili brisanje relacije.

    6. Zatvorite prozor "relacije".

  2. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Čarobnjak za upite.

  3. U dijalogu Novi upit izaberite stavku Čarobnjak za jednostavne upite, a zatim kliknite na dugme U redu.

  4. U kombinovanom okviru Tabele/upiti kliknite na tabelu koja sadrži osnovne informacije koje želite uključene u upit.

  5. Na listi Dostupnih polja kliknite na prvo polje koje želite da uključite u upit, a zatim kliknite na dugme jednom strelica nadesno da biste premestili to polje na listu Izabrana polja . Uradite isto sa svako dodatno polje iz tabele koje želite da uključite u upit. Ovo može biti polja koja želite da se vrate u izlaz upita ili polja koja želite da koristite da biste ograničili redove u izlazu primenom kriterijuma.

  6. U kombinovanom okviru Tabele/upiti kliknite na tabelu koja sadrži povezane podatke koje želite da koristite da biste poboljšali rezultate upita.

  7. Dodajte polja koja želite da koristite da biste poboljšali rezultate upita na listu Izabrana polja i zatim kliknite na dugme dalje.

  8. U okviru Želite li detalja ili rezime upita?, izaberite stavku detalja ili rezimea.

    Ako ne želite upit izvršava agregatne funkcije (Sum, Avg, Min, Max, broj, Funkcija StDevili Var), odaberite detaljni upit. Ako želite da upit izvršava agregatne funkcije, odaberite stavku rezime upita. Nakon što izvršite izbor, kliknite na dugme dalje.

  9. Kliknite na dugme Završi da biste prikazali rezultate.

Primer koji koristi bazi podataka Northwind

U sledećem primeru, koristite čarobnjak za upite za kreiranje upita koji prikazuje listu porudžbina, za svaku porudžbinu otpremu i ime zaposlenog koji je obradio svaku porudžbinu.

Napomena : Ovaj primer obuhvata menjanje bazi podataka Northwind. Možda ćete želeti da napravite rezervnu kopiju baze Northwind i zatim sledite ovaj primer pomoću te rezervne kopije.

Koristite čarobnjak za upite da biste izgradili upit

  1. Otvorite bazi podataka Northwind. Zatvorite obrazac za prijavljivanje.

  2. Na kartici Kreiranje, u grupi Ostalo kliknite na dugme Čarobnjak za upite.

  3. U dijalogu Novi upit izaberite stavku Čarobnjak za jednostavne upite, a zatim kliknite na dugme U redu.

  4. U kombinovanom okviru Tabele/upiti , kliknite na dugme Tabela: porudžbine.

  5. Na listi Dostupnih polja kliknite dvaput na ID porudžbine da biste premestili to polje na listu Izabrana polja . Kliknite dvaput na Otpremu da biste premestili to polje na listu Izabrana polja .

  6. U kombinovanom okviru Tabele/upiti , kliknite na dugme Tabela: zaposleni.

  7. Na listi Dostupnih polja kliknite dvaput na ime da biste premestili to polje na listu Izabrana polja . Kliknite dvaput na stavku "Prezime" da biste premestili to polje na listu Izabrana polja . Kliknite na dugme dalje.

  8. Pošto kreirate listu svih porudžbina, koji želite da koristite detaljni upit. Ako su sabiranje za otpremu zaposlenog ili izvršavate neku drugu agregatnu funkciju, koristite upit za rezimiranje. Kliknite na dugme detalj (prikazuje sva polja iz svih zapisa), a zatim kliknite na dugme dalje.

  9. Kliknite na dugme Završi da biste prikazali rezultate.

Upit vraća listu porudžbina, svaka sa njenim otpremu i ime i prezime zaposlenog koji je obradio porudžbinu.

Vrh stranice

Povezivanje podataka iz dve tabele pomoću njihovih relacija sa treće tabele

Često su podaci u dve tabele međusobno pomoću treće povezani tabele. To je obično slučaj zato što su na odnos više-prema-višepovezani podaci između prve dve tabele. Često je praksa dizajn dobar baze podataka da biste razdelili-prema-relacije između dve tabele u dva jedan-prema-više relacija koje obuhvataju tri tabele. Učinite tako što ćete kreirati treću tabelu, koja se zove spajanja tabele ili tabela relacija koja ima primarni ključ i spoljni ključ za svaki od druge tabele. Relacije jedan-prema-više će biti kreiran između svakog sporedni ključ u tabeli spajanja i odgovarajućeg primarnog ključa jedne od druge tabele. U tim slučajevima, morate da uključite sve tri tabele u upit, čak i ako želite da preuzmete podatke iz samo dve.

Kreiranje upita za izdvajanje pomoću tabela sa relacijom više-prema-više

  1. Na kartici Pravljenje, u grupi Ostalo kliknite na dugme Dizajn upita.

    Otvara se dijalog Prikazivanje tabele .

  2. U dijalogu Prikazivanje tabele kliknite dvaput na dve tabele koje sadrže podatke koje želite da uključite u upit, kao i spajanja tabela koja se povezuje ih, a zatim kliknite na dugme Zatvori.

    Sve tri tabele se pojavljuju u radnom prostoru dizajna upita pridružuje odgovarajuća polja.

  3. Kliknite dvaput na svako polje koje želite da koristite u rezultatima upita. Svako polje pojaviće se u upit koordinatna mreža dizajna.

  4. Koristite red za kriterijume za unošenje kriterijuma polja u koordinatnoj mreži za dizajn upita. Da biste koristili kriterijum polja bez prikazivanja polja u rezultate upita, opozovite izbor u polju za potvrdu u redu Prikaži za to polje.

  5. Da biste sortirali rezultate na osnovu vrednosti u polju u koordinatnoj mreži za dizajn upita kliknite na dugme Rastući ili Opadajući redosled (u zavisnosti od toga koju želite da sortirate zapise) u redu Sortiranje za to polje.

  6. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni.

    Access prikazuje rezultat upita u prikaz lista sa podacima.

Primer koji koristi bazi podataka Northwind

Napomena : Ovaj primer obuhvata menjanje bazi podataka Northwind. Možda ćete želeti da napravite rezervnu kopiju baze Northwind, a zatim pratite u ovom primeru pomoću rezervne kopije.

Pretpostavimo da imate nove mogućnosti za poslovanje: dobavljač u Čačak je pronašao vaše Veb lokacije i možda ćete želeti da poslovanje sa vama. Međutim, oni rade samo u Rio i obližnjih Sao Paulo. Snabdevaju svaku kategoriju koja vam isposreduje. Oni su prilično velika preduzeća i vaše garancije da ih unesete pristup dovoljno potencijalne prodaje da biste je korisno: najmanje R$ 20,000.00 godišnje u prodaji (o $9,300.00). Mogu li im obezbediti zahtevano tržište?

Podaci treba da odgovorim na pitanje se nalazi na dva mesta: "Kupci" i "na Detalji porudžbine". Ove tabele su međusobno povezani tako što ćete "porudžbine". Relacije između tabela su već definisane. U tabeli "porudžbine", svaku porudžbinu da imate samo jednu klijent, povezana tabela "Kupci" na polje ID klijenta. Svaki zapis u tabeli "Detalji porudžbine" se odnosi na samo jedan red u tabeli "porudžbine" na polje "ID porudžbine". Stoga dati kupac može imati više porudžbina, svaka od njih sadrži mnogo detalja.

U ovom primeru kreiraćete unakrsni upit koji prikazuje Ukupna prodaja po godini, u gradovima Čačak i Sao Paulo.

Kreiranje upita u prikazu dizajna

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

  2. Na kartici Pravljenje, u grupi Ostalo kliknite na dugme Dizajn upita.

    Pojavljuje se dijalog Prikazivanje tabele .

  3. U dijalogu Prikazivanje tabele kliknite dvaput klijente, ilidersi Detalji porudžbine, a zatim kliknite na dugme Zatvori.

    Sve tri tabele se pojavljuju u radnom prostoru dizajna upita.

  4. U tabeli "Klijenti" kliknite dvaput na polje "grad" da biste ga dodali u koordinatnu mrežu za dizajn upita.

  5. U koordinatnoj mreži dizajna upita, u koloni " grad ", u polju kriterijumi otkucajte ("Čačak", "Sao Paulo"). Na ovaj način samo one zapise u kojoj se kupac u jednu od ove dve gradove će biti uključeni u upit.

  6. U tabeli "Detalji porudžbine", kliknite dvaput na "DatumIsporuke" polja "i" cena po jedinici.

    Polja se dodaju u koordinatnoj mreži za dizajn upita.

  7. U koloni "DatumIsporuke" u koordinatnoj mreži za dizajn upita, izaberite red polje . Zamena [DatumIsporuke] sa godina: poljem. Ovo kreira polje pseudonim, godini, koja vam omogućava da koristite samo godine deo vrednosti u polja "DatumIsporuke".

  8. U koloni "CenaPoJedinici" u koordinatnoj mreži za dizajn upita, izaberite red polje . Zamenite Prodaja [Cena po jedinici] : [Detalji porudžbine]. [ Cena po jedinici] * [Količina]-[Detalji porudžbine]. [Cena po jedinici] * [Količina] * [popust]. Ovo će kreirati pseudonim polja, prodaje, koje izračunava prodaju za svaki zapis.

  9. Na kartici Dizajn, u grupi Tip upita izaberite opciju Unakrsna tabela.

    Dva nova reda, Ukupna i unakrsni upit, pojavljuju se u koordinatnoj mreži za dizajn upita.

  10. U koloni grad u koordinatnoj mreži za dizajn upita, kliknite na dugme u redu unakrsna tabela , a zatim kliknite na Naslov reda.

    To čini grad vrednosti pojavljuju se kao naslove redova (to jest, upit vraća jedan red za svaki grad).

  11. Kliknite na dugme u redu unakrsna tabela , a zatim kliknite na Naslov koloneu koloni godina .

    To čini godina vrednosti pojavljuju se kao naslove kolona (to jest, upit vraća jednu kolonu karakter za svaku godinu).

  12. U koloni " Prodaja ", kliknite na dugme u redu unakrsna tabela , a zatim izaberite stavku vrednost.

    To čini ulazne vrednosti pojavljuju se u preseku redova i kolona (to jest, upit vraća jednu vrednost prodaje za svaku kombinaciju grada i godine).

  13. U koloni " Prodaja ", kliknite na red sa ukupnim vrednostima , a zatim izaberite stavku zbir.

    Na ovaj način upit za sabiranje vrednosti u ovoj koloni.

    Možete da ostavite red ukupne vrednosti za druge dve kolone na podrazumevanu vrednost od Group By, zato što želite da vidite svaku vrednost za ove kolone, a ne agregatne vrednosti.

  14. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni.

Sada imate upit koji daje ukupnu prodaju po godinama u Čačak i Sao Paulo.

Vrh stranice

Prikazivanje svih zapisa iz dve slične tabele

Ponekad ćete želeti da kombinujete podatke iz dve tabele koje su identične u strukturi, ali jedan od njih se nalazi u drugoj bazi podataka. Razmislite o sledećem scenariju.

Pretpostavimo da ste analitičar radi sa podacima studenata. Pokrećete za deljenje inicijativa između vaše škole i druge škole, podataka tako da obe škole mogu poboljšati svoj nastavni program. Za neke od pitanja koja želite da istražite, bi bilo bolje da pogledate sve zapise iz obe škole zajedno, umesto zapise svake škole zasebno.

Možete da uvozite podatke druge škole u nove tabele u bazi podataka, ali zatim promene drugih škole podataka će se odraziti u bazi podataka. Bolje rešenje bi da se povežete sa drugim škole tabelama, a zatim kreirajte upite koji kombinuje podatke kada pokrenete ih. Bi mogućnosti za analizu podataka kao jednom postavljena, umesto izvršenje dva analize i pokušavate da ih protumačiti kao da su jedan.

Da biste prikazali sve zapise iz dve tabele identične strukture, koristite upit sjedinjavanja.

Upiti za združivanje nije moguće prikazati u prikazu dizajna. Kreiraćete ih pomoću SQL komande koje ste uneli na kartici objekta prikaz „SQL“ .

Kreiranje upita za združivanje pomoću dve tabele

  1. Na kartici Pravljenje, u grupi Ostalo kliknite na dugme Dizajn upita.

    Novi mrežu za dizajn upita se otvara i pojavljuje se dijalog Prikazivanje tabele .

  2. U dijalogu Prikazivanje tabele kliknite na dugme Zatvori.

  3. Na kartici Dizajn , u grupi Tip upita kliknite na dugme združivanje.

    Upit se prebacuje iz prikaza dizajna na SQL prikaz. U ovom trenutku, karticu objekta SQL prikaz je prazan.

  4. U SQL prikazu, otkucajte Izaberite, sledi Lista polja iz prve tabele u upit. Imena polja bi trebalo da bude pod uglastim zagradama i razdvojene tačkom i zarezom. Kada završite sa kucanjem imena polja, pritisnite taster ENTER. Pokazivač miša se premešta nadole za jedan red u SQL prikazu.

  5. Otkucajte odiza kojeg sledi ime prve tabele u upit. Pritisnite taster ENTER.

  6. Ako želite da navedete kriterijum za polje iz prve tabele, otkucajte mesto, slede ime polja, operator za poređenje (obično znak jednakosti (=)) i kriterijum. Možete da dodate dodatne kriterijume na kraju odredbe WHERE pomoću ključne reči i i istu sintaksu koristi za prvi kriterijum; na primer, gde [razred] = "100" AND [Broj kredita] > 2. Kada završite sa navedenim kriterijumima, pritisnite taster ENTER.

  7. Otkucajte reč UNION, a zatim pritisnite taster ENTER.

  8. Tip Izaberite STAVKU, sledi Lista polja iz druge tabele u upit. Treba da uključite ista polja iz ove tabele koja ste uključili iz prve tabele i istim redosledom. Imena polja bi trebalo da bude pod uglastim zagradama i razdvojene tačkom i zarezom. Kada završite sa kucanjem imena polja, pritisnite taster ENTER.

  9. Tip odpraćeno imenom druge tabele koje želite da uključite u upit. Pritisnite taster ENTER.

  10. Ako želite, dodajte odredbu WHERE, kao što je opisano u koraku 6 u ovoj proceduri.

  11. Otkucajte tačku i zarez (;) da biste označili kraj upita.

  12. Na kartici Dizajn, u grupi Rezultati kliknite na dugme Pokreni.

    Rezultati će biti prikazani u prikazu lista sa podacima.

Vrh stranice

Napomena : Odricanje odgovornosti mašinskog prevođenja: ovaj članak je preveden sistem računara bez ljudski interventne. Microsoft nudi ove mašinskog prevoda da pomogne koja nije na engleskom govornih korisnicima da uživate u sadržaju za Microsoft proizvode, usluge i tehnologijama. U članku bio mašinskog prevesti, mogu da sadrže greške u rečnik, sintaksa ili gramatiku.

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×