Kyselyn luominen useiden taulukoiden pohjalta

Käytetään kohteeseen
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Joskus kyselyiden luominen ja käyttö Accessissa tarkoittaa vain kenttien valitsemista taulukosta, ehkä joidenkin ehtojen määrittämistä ja tämän jälkeen tulosten tarkastelua. Usein tilanne on kuitenkin sellainen, että tarvittavat tiedot ovat levällään useissa taulukoissa. Onneksi voit kuitenkin luoda kyselyn, joka yhdistää tietoja useista lähteistä. Tässä artikkelissa käsitellään joitain tilanteita, joissa hyödynnät tietoja useista lähteistä, ja annetaan ohjeet tämän toteuttamiseen.

Sisältö

Eteesi saattaa tulla tilanne, jossa yhteen taulukkoon perustuva kysely antaa tarvitsemasi tiedot, mutta toisen taulukon tietojen avulla tulokset olisivat vielä selkeämpiä ja hyödyllisempiä. Oletetaan, että sinulla on esimerkiksi luettelo työntekijätunnuksista kyselysi tuloksissa. Tajuat, että olisi hyödyllisempää nähdä tuloksissa myös työntekijöiden nimet, mutta ne ovat toisessa taulukossa. Jotta saat työntekijöiden nimet näkyviin hakutuloksissasi, sinun täytyy sisällyttää molemmat taulukot kyselyysi.

  1. Varmista Yhteydet-ikkunassa, että taulukoille on määritetty yhteys.
    Ohjeet

    1. Valitse Tietokantatyökalut-välilehden Näytä/piilota-ryhmästä Yhteydet.

    2. Valitse Rakenne-välilehden Yhteydet-ryhmässä Kaikki yhteydet.

    3. Selvitä taulukot, joilla pitäisi olla määritetty yhteys.

      • Jos taulukot näkyvät Yhteydet-ikkunassa, tarkista, että yhteys on jo määritetty.
        Yhteys näytetään viivana, joka yhdistää taulukot yhteisessä kentässä. Kaksoisnapsauttamalla yhteysviivaa voit tarkistaa, mitkä taulukoiden kentät on yhdistetty.
      • Jos taulukoita ei näy Yhteydet-ikkunassa, sinun täytyy lisätä ne.
        Valitse Rakenne-välilehden Näytä tai piilota -ryhmästä Taulukoiden nimet.
        Kaksoisnapsauta taulukoita, jotka haluat nähdä, ja valitse sitten Sulje.
    4. Jos et löydä yhteyttä kahden taulukon välillä, luo yhteys vetämällä kenttä yhdestä taulukosta toiseen. Kenttien, joista luot yhteyden taulukoiden välillä, täytyy olla tietotyypiltään identtisiä.

      Huomautus

      Voit luoda suhteen Laskuri-tietotyyppiä olevan kentän ja Luku-tietotyyppiä olevan kentän välille, jos kentän koko tukee pitkiä kokonaislukuja. Näin on usein silloin, kun olet luomassa yksi-moneen-yhteyttä.

      Näyttöön tulee Muokkaa yhteyksiä -valintaikkuna.

    5. Luo yhteys valitsemalla Luo.
      Jos haluat lisätietoja siitä, mitä vaihtoehtoja sinulla on yhteyttä luodessasi, lue ohjeartikkeli Yhteyden luominen, muokkaaminen ja poistaminen.

    6. Sulje Yhteydet-ikkuna.

  2. Valitse Luo-välilehden Kyselyt-ryhmässä Ohjattu kyselyn luominen

  3. Valitse Uusi kysely -valintaikkunasta Ohjattu yksinkertaisen kyselyn luominen ja valitse sitten OK.

  4. Napsauta taulukoiden ja kyselyiden yhdistelmäruudussa sitä taulukkoa, joka sisältää kyselyyn sisällytettävät perustiedot.

  5. Napsauta Käytettävissä olevat kentät -luettelossa ensimmäistä kyselyyn sisällytettävää kenttää ja siirrä se sitten Valitut kentät -luetteloon napsauttamalla oikealle osoittavaa nuolipainiketta. Tee sama jokaiselle taulukon kentälle, jonka haluat sisällyttää kyselyyn. Nämä voivat olla kenttiä, jotka haluat palauttaa kyselyn tuloksessa, tai kenttiä, joiden avulla haluat rajoittaa tulosteen rivejä ehtoja soveltamalla.

  6. Napsauta taulukoiden ja kyselyiden yhdistelmäruudussa sitä taulukkoa, joka sisältää liittyvät tiedot, joilla haluat täydentää kyselyn tuloksia.

  7. Lisää tästä taulukosta haluamasi kentät valittujen taulukoiden luetteloon ja valitse sitten Seuraava.

  8. Valitse Haluatko yksityiskohtaisen kyselyn vai yhteenvetokyselyn? -kohdasta yksityiskohtaisen kyselyn tai yhteenvetokyselyn asetus.
    Jos et halua kyselyn suorittavan mitään koostefunktioita (Summa, Keskiarvo, Pienin, Suurin, Laske, Keskihajonta tai Varianssi), valitse yksityiskohtainen kysely. Jos haluat kyselyn suorittavan koostefunktion, valitse yhteenvetokysely. Kun olet tehnyt valintasi, valitse Seuraava.

  9. Saat tulokset näkyviin valitsemalla Valmis.

Northwind-mallitietokantaan perustuva esimerkki

Seuraavassa esimerkissä luot ohjatulla kyselyn luontitoiminnolla kyselyn, joka näyttää luettelon tilauksista, kunkin tilauksen toimitusmaksun ja tilauksen käsitelleen työntekijän nimen.

Huomautus

Tässä esimerkissä joudut muokkaamaan Northwind-mallitietokantaa. Sinun kannattaa ehkä ottaa siitä varmuuskopio ja tehdä tässä esimerkissä mainitut toimet tähän varmuuskopioversioon.

Kyselyn luominen ohjatulla kyselyn luomisella.

  1. Avaa Northwind-mallitietokanta. Sulje kirjautumislomake.
  2. Valitse Luo-välilehden Kyselyt-ryhmässä Ohjattu kyselyn luominen
  3. Valitse Uusi kysely -valintaikkunasta Ohjattu yksinkertaisen kyselyn luominen ja valitse sitten OK.
  4. Valitse taulukoiden ja kyselyiden yhdistelmäruudusta Taulukko: Tilaukset.
  5. Siirrä Tilaustunnus Valitutkentät -luetteloon kaksoisnapsauttamalla Käytettävissä olevat kentät -luettelossa olevaa Tilaustunnus-kohtaa. Siirrä Toimitusmaksu-kenttävalittujen kenttien luetteloon kaksoisnapsauttamalla sitä.
  6. Valitse taulukoiden ja kyselyiden yhdistelmäruudusta Taulukko: Työntekijät.
  7. Siirrä Etunimi-kenttävalittujen kenttien luetteloon kaksoisnapsauttamalla Käytettävissä olevat kentät -luetteloa. Siirrä kenttä valittujen kenttien luetteloon kaksoisnapsauttamalla Sukunimi-kenttää. Napsauta Seuraava.
  8. Koska luot luetteloa kaikista tilauksista, sinun kannattaa käyttää yksityiskohtaista kyselyä. Jos olet laskemassa toimitusmaksuja yhteen työntekijäkohtaisesti tai hyödyntämässä joitain muita koostefunktioita, käytä yhteenvetokyselyä. Valitse Yksityiskohtainen (näyttää kaikkien tietueiden kaikki kentät) ja sitten Seuraava.
  9. Saat tulokset näkyviin valitsemalla Valmis.

Kysely palauttaa luettelon, joka sisältää tilaukset, kunkin tilauksen toimitusmaksun ja kunkin tilauksen käsittelijän nimen.

Sivun alkuun

Kahden taulukon tietojen yhdistäminen hyödyntämällä niiden yhteyksiä kolmannessa taulukossa

Usein kahden taulukon tiedot liittyvät toisiinsa kolmannen taulukon kautta. Tilanne on usein tämä, kun kahden ensimmäisen taulukon välillä on monta-moneen-yhteys. Usein kahden taulukon välinen monta-moneen-yhteys kannattaa jakaa kahdeksi yksi-moneen-yhteydeksi kolmen taulukon avulla. Voit tehdä tämän luomalla kolmannen taulukon (niin sanotut liitostaulukot tai yhteystaulukot), joilla on perusavain ja viiteavain jokaiselle muulle taulukolle. Tämän jälkeen luodaan yksi-moneen-yhteys liitostaulukon jokaiselle viiteavaimelle ja vastaavalle perusavaimelle yhdessä taulukoista. Tällaisessa tilanteessa sinun täytyy sisällyttää kaikki kolme taulukkoa kyselyysi, vaikka haluaisit hakea tietoja vain kahdesta.

Valintakyselyn luominen taulukoista monta-moneen-yhteyden avulla

  1. Valitse Luo-välilehden Kyselyt-ryhmästä Kyselyn rakennenäkymä
  2. Kaksoisnapsauta kahta taulukkoa, jotka sisältävät kyselyyn sisällytettävät tiedot, sekä niitä yhdistävää liitoskohtataulukkoa. Valitse sitten Sulje.
    Kaikki kolme taulukkoa näytetään kyselyn rakennenäkymässä siten, että ne on yhdistetty asianmukaisissa kentissä.
  3. Kaksoisnapsauta kaikkia niitä kenttiä, joita haluat käyttää kyselyssä. Kukin kenttä tulee näkyviin kyselyn rakenneruudukkoon.
  4. Voit antaa kenttien ehdot kyselyn rakenneruudukon Ehdot-rivillä. Jos haluat käyttää kentän ehtoa näyttämättä kenttää kyselyn tuloksissa, poista kyseisen kentän Näytä-rivin valintaruudun valinta.
  5. Jos haluat lajitella tulokset kentän arvojen perusteella, napsauta kyselyn rakenneruudukossa kentän Lajittelu-rivillä joko Nouseva tai Laskeva (sen perusteella, miten haluat lajitella tiedot).
  6. Valitse Rakenne-välilehden Tulokset-ryhmästä Suorita.
    Access näyttää kyselyn tulosteen taulukkonäkymässä.

Northwind-mallitietokantaan perustuva esimerkki

Huomautus

Tässä esimerkissä joudut muokkaamaan Northwind-mallitietokantaa. Sinun kannattaa ehkä ottaa tietokannasta varmuuskopio ja tehdä tässä esimerkissä mainitut toimet tähän varmuuskopioversioon.

Oletetaan, että sinulla on uusi mahdollisuus: Rio de Janeirossa toimiva toimittaja on löytänyt verkkosivustosi ja haluaa ehkä tehdä kauppaa kanssasi. Ne toimivat kuitenkin vain Riossa ja läheisessä São Paulossa. He toimittavat kaikki välittämäsi elintarviketuotteet. He ovat melko iso yritys ja haluavat vakuutuksesi siitä, että voit tarjota heille pääsyn tarpeeksi potentiaaliseen myyntiin, jotta se kannattaa: vähintään 20 000,00 R$ vuodessa myyntinä (noin 9 300,00 $). Voitko tarjota heille heidän tarvitsemansa markkinat?

Tiedot, joiden avulla voit tarkistaa tämän, ovat kahdessa eri paikassa: asiakastaulukossa ja tilaustietojen taulukossa. Ne on yhdistetty toisiinsa tilaustaulukon avulla. Yhteydet näiden taulukoiden välille on jo määritetty. Tilaustaulukossa kullakin tilauksella voi olla vain yksi asiakas, joka on yhdistetty asiakastaulukon asiakastunnuskenttään. Jokainen tilaustietojen taulukon tietue on yhdistetty vain yhteen tilaustaulukon tilaukseen tilaustunnuksen kentässä. Yksittäisellä asiakkaalla voi siis olla monta tilausta, joista jokaisella voi olla monia tilaustietoja.

Tässä esimerkissä luet ristiintaulukointikyselyn, jolla näytät vuosittaisen kokonaismyynnin Rio de Janeirossa ja São Paulossa.

Kyselyn luominen rakennenäkymässä

  1. Avaa Northwind-tietokanta. Sulje kirjautumislomake.
  2. Valitse Luo-välilehden Kyselyt-ryhmästä Kyselyn rakennenäkymä
  3. Kaksoisnapsauta Asiakkaat, Tilaukset ja sitten Tilauksen tiedot.
    Kaikki kolme taulukkoa näytetään kyselyn rakennenäkymässä siten.
  4. Lisää asiakastaulukon kaupunkikenttä kyselyn rakenneruudukkoon kaksoisnapsauttamalla kenttää.
  5. Kirjoita kyselyn rakenneruudukon kaupungin sarakkeen ehtojen riville In ("Rio de Janeiro","São Paulo"). Tällä tavoin kyselyyn sisällytetään vain ne tietueet, joissa asiakas on jommastakummasta näistä kaupungeista.
  6. Kaksoisnapsauta tilaustietojen taulukossa toimituspäivän ja yksikköhinnan kenttiä.
    Ne lisätään kyselyn rakenneruudukkoon.
  7. Valitse kyselyn rakenneruudukon toimituspäivän sarakkeen kenttärivi. Korvaa [ShippedDate] arvolla Year: Format([ShippedDate],"yyyy"). Tämä luo kentän tunnusnimen (tässä tapauksessa Year), jolla voit käyttää toimituspäiväkentästä pelkkää vuoden osiota.
  8. Valitse kyselyn rakenneruudukon yksikköhinnan sarakkeen kenttärivi. Korvaa [UnitPrice] arvolla Sales: [Order Details].[UnitPrice]*[Quantity]-[Order Details].[UnitPrice]*[Quantity]*[Discount]. Tämä luo kentän tunnusnimen (tässä tapauksessa Sales), joka laskee kunkin tietueen myynnin.
  9. Valitse Rakenne-välilehden Kyselylaji-ryhmästä Ristiintaulukointi.
    Kyselyn rakenneruudukkoon ilmestyy kaksi uutta riviä: Yhteensä ja Ristiintaulukointi.
  10. Napsauta kyselyn rakenneruudukon kaupungin sarakkeen Ristiintaulukointi-riviä ja valitse sitten Riviotsikko.
    Tällä tavoin kaupunkiarvot näytetään riviotsikoina (eli kysely palauttaa yhden rivin kullekin kaupungille).
  11. Napsauta vuoden sarakkeen Ristiintaulukointi-riviä ja valitse sitten Sarakeotsikko.
    Tällä tavoin vuoden arvot näytetään sarakeotsikoina (eli kysely palauttaa yhden sarakkeen kullekin vuodelle).
  12. Napsauta myynnin sarakkeen Ristiintaulukointi-riviä ja valitse sitten Arvo.
    Tällä tavoin myynnin arvot näytetään rivien ja sarakkeen yhtymäkohdassa (eli kysely palauttaa yhden myynnin arvon kullekin kaupungin ja vuoden yhdistelmälle).
  13. Napsauta myynnin sarakkeen Summat-riviä ja valitse sitten Summa.
    Näin kysely laskee yhteen tämän sarakkeen arvot.
    Voit jättää kahden muun sarakkeen Summat-riville oletusarvon (Ryhmittelyperuste), koska haluat nähdä näiden sarakkeiden kaikki arvot, et koostearvoja.
  14. Valitse Rakenne-välilehden Tulokset-ryhmästä Suorita.

Nyt sinulla on kysely, joka palauttaa Rio de Janeiron ja São Paulon vuosittaiset kokonaismyynnit.

Sivun alkuun

Kahden samankaltaisen taulukon kaikkien tietueiden tarkastelu

Joskus haluat ehkä yhdistää tietoja kahdesta taulukosta, joilla on identtinen rakenne ja joista toinen sijaitsee toisessa tietokannassa. Mieti alla kuvattua tilannetta.

Olet opiskelijatietoja käsittelevä analyytikko. Oppilaitoksesi on jakamassa tietoja toisen oppilaitoksen kanssa, jotta molemmat voisivat parantaa opetussuunnitelmiaan. Joidenkin tarkasteltavien seikkojen kannalta olisi parempi nähdä kaikki tietueet molemmista oppilaitoksista yhdessä (oppilaitosten tietueiden erillisen tarkastelun asemesta).

Voisit tuoda toisen oppilaitoksen tiedot uusiin taulukoihin tietokannassasi, mutta tässä tapauksessa toisen koulun tietojen muutoksia ei toteutettaisi tietokannassasi. Parempi ratkaisu on linkittää toisen oppilaitoksen taulukoihin ja luoda sitten kyselyitä, jotka yhdistävät tiedot suorittamisen yhteydessä. Näin voit analysoida tietoja yhtenä joukkona sen sijaan, että tekisit kaksi analyysia, joita yrittäisit tulkita yhtenä.

Jos haluat tarkastella kahden rakenteeltaan identtisen taulukon kaikkia tietueita, käytä yhdistämiskyselyä.

Yhdistämiskyselyitä ei voi näyttää rakennenäkymässä. Ne luodaan SQL-komentojen avulla, jotka kirjoitetaan SQL-näkymän objektivälilehteen.

Yhdistämiskyselyn luominen kahden taulukon avulla

  1. Valitse Luo-välilehden Kyselyt-ryhmästä Kyselyn rakennenäkymä
  2. Valitse Rakennenäkymä-välilehden kyselytyypin ryhmästä Yhdiste.
    Kysely siirtyy rakennenäkymästä SQL-näkymään. Tässä vaiheessa SQL-näkymän objektivälilehti on tyhjä.
  3. Kirjoita SQL-näkymässä SELECT ja sen perään luettelo niistä ensimmäisen taulukon kentistä, jotka haluat sisällyttää kyselyyn. Kenttien nimet tulisi sulkea hakasulkeisiin ja erottaa toisistaan pilkuilla. Kun olet kirjoittanut kaikkien haluamiesi kenttien nimet, paina Enteriä. Kohdistin siirtyy SQL-näkymässä yhden rivin alaspäin.
  4. Kirjoita FROM ja sen perään kyselyyn sisällytettävän ensimmäisen taulukon nimi. Paina Enteriä.
  5. Jos haluat määrittää ehdon ensimmäisen taulukon kentälle, kirjoita WHERE, sen perään kentän nimi, vertailuoperaattori (yleensä yhtäläisyysmerkki (=)) ja sitten ehto. Voit lisätä lisäehtoja WHERE-lauseen loppuun käyttämällä AND-avainsanaa ja samaa syntaksia, jota käytetään ensimmäisessä ehdossa. esimerkiksi WHERE [ClassLevel]="100" AND [CreditHours]>2. Kun olet määrittänyt haluamasi ehdot, paina ENTER-näppäintä.
  6. Kirjoita UNION ja paina sitten Enteriä.
  7. Kirjoita SELECT ja sen perään luettelo niistä toisen taulukon kentistä, jotka haluat sisällyttää kyselyyn. Sinun tulisi sisällyttää tästä taulukosta samat kentät kuin ensimmäisestä taulukosta (ja samassa järjestyksessä). Kenttien nimet tulisi sulkea hakasulkeisiin ja erottaa toisistaan pilkuilla. Kun olet kirjoittanut kaikkien haluamiesi kenttien nimet, paina Enteriä.
  8. Kirjoita FROM ja sen perään kyselyyn sisällytettävän toisen taulukon nimi. Paina Enteriä.
  9. Jos haluat, voit lisätä WHERE-lauseen kuten vaiheessa 6.
  10. Lopeta kysely kirjoittamalla puolipiste (;).
  11. Valitse Rakenne-välilehden Tulokset-ryhmästä Suorita.
    Kyselyn tulokset näytetään taulukkonäkymässä.

Sivun alkuun

Katso myös

Taulukoiden ja kyselyjen liittäminen